从python脚本运行.sh文件

2024-09-25 00:31:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从python脚本运行.sh文件。但是,.sh文件中包含一个需要输入的函数。 因此,如果我要从终端运行.sh文件,它将如下所示:

./test.sh 1 2

我可以看到,在python中,subprocess.call(['./test.sh'])无法工作,因为没有参数空间。是否有子流程的其他分支可以使用


Tags: 文件函数test脚本终端参数sh分支
3条回答

你可以这样做。请查看以下文档: Python2: https://docs.python.org/2/library/subprocess.html

Python3.8: https://docs.python.org/3.8/library/subprocess.html

例如:

subprocess.call(["ls", "-l"])

您也可以使用以下功能:

try:
    ressys = subprocess.check_call('script.sh',  shell=True)
except subprocess.CalledProcessError, e:
    res = str(e.output) + "   Code: " + str(e.returncode)
    print res

参数是列表中的附加元素

subprocess.run(['./test.sh', '1', '2'])

您还应该使用subprocess.run()而不是subprocess.call(),这是一种过时的方法

相关问题 更多 >