我正在尝试使用以下脚本检查check_output的用法,但遇到编译错误,我做错了什么?
import os
import subprocess
from subprocess import check_output
#result = subprocess.check_output(['your_program.exe', 'arg1', 'arg2'])
SCRIPT_ROOT=subprocess.check_output(["pwd","shell=True"])
print SCRIPT_ROOT
def main ():
pass
if __name__ == '__main__':
main()
Traceback (most recent call last):
File "test.py", line 3, in <module>
from subprocess import check_output
ImportError: cannot import name check_output
from subprocess import check_output
只是为了尝试调试这个问题吗?如果不是,当你已经import
整个模块并在代码中显式地使用它限定(如subprocess.check_output
)时,你不想这样做。(另外,同时具有if __name__ == '__main__':
习惯用法和模块级过程代码有点奇怪。如果代码不必被import
,就不要费心处理__main__
的东西。如果需要,请不要放置不应在import
上运行的模块级代码。) - abarnert