import os
import subprocess
proc = subprocess.Popen(['ls','*.bc'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out,err = proc.communicate()
print out
Run Code Online (Sandbox Code Playgroud)
此脚本应打印带有.bc后缀的所有文件,但它会返回一个空列表.如果我在命令行中手动执行ls*.bc它可以工作.在脚本中执行['ls','test.bc']也可以,但由于某些原因,星形符号不起作用..任何想法?
我想是的接口相匹配的好方法subprocess.check_call-即,它抛出CalledProcessError的时候失败了,是同步的,&C -的,而是返回命令的返回码(如果它甚至不认为)返回程序的输出,要么只是stdout,要么是(stdout,stderr)的元组.
有人有这样做的方法吗?