我需要在python中运行bash脚本的帮助。我有一个程序,它向python脚本发送参数(例如,“$1”)。我想从python脚本中运行bash脚本,向它发送参数,然后在python脚本中接收并打印bash的结果(echo)。这就是我所拥有的:
#!/usr/bin/env python
import subprocess
process = subprocess.Popen('sorter.sh', stdout=subprocess.PIPE, shell=True)
out, err = process.communicate()
print(out)
但是,当我尝试运行它时,我得到了一个错误:/bin/sh:分拣机.sh:未找到
当我把arg改成'sh分拣机.sh'I getsh:无法打开'分拣机.sh'
我确信bash脚本是有效的。。。当我从shell运行它并提供一个文件(sh分拣机.sh/文件/文件/文件.jpg)一切顺利。谁能告诉我我做错了什么吗?谢谢!在
要将Python脚本接收到的参数发送到bash脚本,可以使用
sys.argv
:如果您将python脚本调用为}。
python-script a b c
,那么它将使用a
、b
、c
参数调用{注意:代码期望
sorter.sh
具有适当的shebang和execute权限(chmod +x /path/to/sorter.sh
)。根据错误消息,当前工作目录中似乎没有
sorter.sh
。指定脚本的绝对路径。替换以下内容:
有:
^{pr2}$或者:
相关问题 更多 >
编程相关推荐