检查python中的输出错误

检查python中的输出错误,python,python-2.6,Python,Python 2.6,我在运行下面的代码时出错 #!/usr/bin/python import subprocess import os def check_output(*popenargs, **kwargs): process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs) output, unused_err = process.communicate() retcode = process.poll(

我在运行下面的代码时出错

#!/usr/bin/python
import subprocess
import os
def check_output(*popenargs, **kwargs):
    process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
    output, unused_err = process.communicate()
    retcode = process.poll()
    if retcode:
        cmd = kwargs.get("args")
        if cmd is None:
            cmd = popenargs[0]
        error = subprocess.CalledProcessError(retcode, cmd)
        error.output = output
        raise error
    return output

location = "%s/folder"%(os.environ["Home"])
subprocess.check_output(['./MyFile'])
错误

subprocess.check_output(['./MyFile'])
AttributeError: 'module' object has no attribute 'check_output'
我正在使用
python2.6.4

只需使用:

check_output(['./MyFile'])
您已经定义了自己的函数,它不是
subprocess
module(对于Python 2.6和更早版本)的属性

还可以将函数指定给导入的模块对象(但这不是必需的):

您可能只想使用
check\u output
,但是,正如您所知,有一个方法
subprocess.check\u output
,但直到Python 2.7()

您甚至可能需要它,它定义了模块中不存在的函数(即在v2.7之前运行)

请尝试以下操作:

from subprocess import check_output 
print(check_output(["dir", "C:\\Downloads\\file.csv"],shell=True).decode("utf8"))

确保您的路径中有
\
而不是“/”和“dir”而不是“ls”

您的意思是使用定义的
检查输出
方法吗?有一种非常好的方法可以做到这一点,包括检测是否有必要,如检查输出(['./MyFile'])文件“DailyCheck.py”第19行中的文件“DailyCheck.py”中所示,第5行,在check_output process=subprocess.Popen(stdout=subprocess.PIPE,*popenargs,**kwargs)文件“/usr/lib/python2.6/subprocess.py”中,第621行,在uuuu init_uuerrread,errwrite)文件“/usr/lib/python2.6/subprocess.py”中,第1126行,在execute-child-raise-child-OSError:[Errno 2]没有这样的文件或目录
不确定为什么会出现此错误。文件确实位于指定的文件夹中。请尝试检查
os.getcwd()
的值是否正确(应该是MyFile所在的目录)。@TravisGD是否正确。我错误地删除了os.chdir(location)
,因此得到了错误。中给出了一种更好的方法。
try: subprocess.check_output
except: subprocess.check_output = check_output
subprocess.check_output()
from subprocess import check_output 
print(check_output(["dir", "C:\\Downloads\\file.csv"],shell=True).decode("utf8"))