Python subprocess.check_output()
Posted
技术标签:
【中文标题】Python subprocess.check_output()【英文标题】: 【发布时间】:2019-04-18 05:46:50 【问题描述】:mystring = subprocess.check_output(["sudo iwlist wlan0 scan"], universal_newlines=True)
word = 'Devsign2G'
print (mystring)
print (word)
if word in str(mystring):
print ('success')
-错误信息-
回溯(最近一次通话最后): 文件“test.py”,第 52 行,在 mystring = subprocess.check_output(["sudo iwlist wlan0 scan"], universal_newlines=True) 文件“/usr/lib/python2.7/subprocess.py”,第 212 行,在 check_output 中 进程 = Popen(stdout=PIPE, *popenargs, **kwargs) 文件“/usr/lib/python2.7/subprocess.py”,第 390 行,在 __init__ 读错,写错) _execute_child 中的文件“/usr/lib/python2.7/subprocess.py”,第 1024 行 引发 child_exception OSError: [Errno 2] 没有这样的文件或目录有什么问题?
【问题讨论】:
【参考方案1】:有什么问题?
OSError: [Errno 2] No such file or directory
指的是要执行的子进程命令。
程序参数必须按顺序单独传递,所以改变
["sudo iwlist wlan0 scan"]
到
["sudo", "iwlist", "wlan0", "scan"]
【讨论】:
【参考方案2】:看起来您的代码正在使用位于以下位置的名为“subprocess”的文件:/usr/lib/python2.7/subprocess.py
但文件或目录不存在。您可以更改目录或将文件放在正确的文件夹中。
如果是打包好的。你是用 pip 还是 sth 安装包的?是进口的吗?
【讨论】:
这个包是 Python 2.7 的内置包。我输入了命令(sudo apt-get install subprocess)但答案是“E:无效操作子进程” 包已经安装,从traceback可以看出。文件子进程在那里,所以这不是问题的根源。以上是关于Python subprocess.check_output()的主要内容,如果未能解决你的问题,请参考以下文章