问问题
512 次
2 回答
0
要将 Python 脚本收到的参数发送到 bash 脚本,可以使用sys.argv
:
#!/usr/bin/env python
import sys
from subprocess import check_output as qx
output = qx(["/path/to/sorter.sh"] + sys.argv[1:])
print output,
如果您调用 python 脚本,python-script a b c
那么它sorter.sh
使用a
, b
,c
参数调用。
注意:代码期望sorter.sh
具有适当的shebang和执行权限 ( chmod +x /path/to/sorter.sh
)。
于 2013-10-27T07:24:01.603 回答
0
根据错误消息,当前工作目录中似乎没有sorter.sh
。指定脚本的绝对路径。
替换以下:
process = subprocess.Popen('sorter.sh', stdout=subprocess.PIPE, shell=True)
和:
process = subprocess.Popen('sh /path/to/sorter.sh', stdout=subprocess.PIPE, shell=True)
或者:
process = subprocess.Popen(['sh', '/path/to/sorter.sh'], stdout=subprocess.PIPE)
于 2013-10-27T04:05:02.253 回答