【发布时间】:2013-10-27 04:04:16
【问题描述】:
我需要一些帮助来从 python 中运行 bash 脚本。我有一个程序将参数发送到 python 脚本(例如,“$1”)。我想从 python 脚本中运行一个 bash 脚本,向它发送参数,然后在 python 脚本中接收并打印 bash 的结果(回声)。这就是我所拥有的:
#!/usr/bin/env python
import subprocess
process = subprocess.Popen('sorter.sh', stdout=subprocess.PIPE, shell=True)
out, err = process.communicate()
print(out)
但是,当我尝试运行它时,出现以下错误:/bin/sh: sorter.sh: not found
当我将 arg 更改为 'sh sorter.sh' 我得到 sh: can't open 'sorter.sh'
我确信 bash 脚本可以工作...当我从 shell 运行它并为其提供一个文件 (sh sorter.sh /file/filed/files.jpg) 时,一切都很顺利。谁能告诉我我做错了什么?谢谢!
【问题讨论】:
-
尝试使用完整路径或./sorter.sh
标签: python bash shell parameters subprocess