我正在尝试.sh从 python 脚本运行文件。但是,该.sh文件中包含一个需要输入的函数。因此,如果我.sh要从终端运行文件,它将如下所示:./test.sh 1 2我可以看到,在 python 中,subprocess.call(['./test.sh'])它不起作用,因为没有争论的余地。我可以使用任何其他子流程分支吗?
3 回答
森林海
TA贡献2011条经验 获得超2个赞
参数是列表中的附加元素。
subprocess.run(['./test.sh', '1', '2'])
您还应该使用subprocess.run()
而不是subprocess.call()
,这是一种过时的方法。
慕码人2483693
TA贡献1860条经验 获得超9个赞
你可以这样做。看看这里的文档:Python2: https ://docs.python.org/2/library/subprocess.html
Python3.8: https ://docs.python.org/3.8/library/subprocess.html
例子:
subprocess.call(["ls", "-l"])
holdtom
TA贡献1805条经验 获得超10个赞
您也可以使用以下功能:
try:
ressys = subprocess.check_call('script.sh', shell=True)
except subprocess.CalledProcessError, e:
res = str(e.output) + " -- Code: " + str(e.returncode)
print res
添加回答
举报
0/150
提交
取消