我正在编写一个Python程序来调用Popen的本地二进制文件来捕获它的输出.我改变了目录os.chdir,我已经验证了文件.但是,以下代码会引发"找不到文件"异常.
谁能告诉我我做错了什么?从我$ PATH中的目录运行程序有什么特别之处吗?提前致谢.
try:
os.chdir('/home/me')
p = sub.Popen(['./exec', '--arg', 'arg1'], cwd=os.getcwd(), stdout=sub.PIPE)
out, err = p.communicate()
print("done")
except OSError as e:
print("error %s" % e.strerror)
Run Code Online (Sandbox Code Playgroud)
注意本节文档的
\n\n\n\n\n如果cwd不为None,则在执行之前child\xe2\x80\x99s当前目录将更改为\n cwd。请注意,搜索可执行文件时不考虑此目录,因此您可以\xe2\x80\x99t 指定程序\xe2\x80\x99s 相对于cwd 的路径\n。
\n
尝试使用绝对路径Popen。
p = sub.Popen([\'/home/me/exec\', \'--arg\', \'arg1\'], stdout=sub.PIPE)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3832 次 |
| 最近记录: |