我的代码使用subprocess.check_output
就好了,我不得不重新安装Ubuntu 16.04,然后它抱怨它现在找不到属性check_output。
import subprocess
p = subprocess.check_output("here is a command", shell=True)
/usr/bin/python2.7 /home/username/subprocess.py
Traceback (most recent call last):
File "/home/username/subprocess.py", line 1, in <module>
import subprocess
File "/home/username/subprocess.py", line 4, in <module>
p = subprocess.check_output("here is a command", shell=True)
AttributeError: 'module' object has no attribute 'check_output'
请注意,我使用的是Python2.7,根据这篇文章,这里应该解决这个问题,但事实并非如此。
subprocess.check_output() module object has out attribute 'check_output'
是什么给出的?我尝试了pip install subprocess
或pip uninstall subprocess
但没有运气。如何将subprocess
更新为最新版本,使其具有check_output
属性?我不想使用Popen
。
答案 0 :(得分:1)
您的问题是您创建了一个名为subprocess.py
的脚本,因此原始库subprocess
被您的模块“覆盖”了。
将脚本 /home/username/subprocess.py 重命名为不是标准Python模块名称的内容!这条规则当然适用于所有其他Python库!