为了账号安全,请及时绑定邮箱和手机立即绑定

从 python 脚本运行 .sh 文件

从 python 脚本运行 .sh 文件

富国沪深 2022-07-05 19:03:19
我正在尝试.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(),这是一种过时的方法。


查看完整回答
反对 回复 2022-07-05
?
慕码人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"])


查看完整回答
反对 回复 2022-07-05
?
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


查看完整回答
反对 回复 2022-07-05
  • 3 回答
  • 0 关注
  • 456 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信