2024-09-25 00:31:22 发布
网友
我正在尝试从python脚本运行.sh文件。但是,.sh文件中包含一个需要输入的函数。 因此,如果我要从终端运行.sh文件,它将如下所示:
.sh
./test.sh 1 2
我可以看到,在python中,subprocess.call(['./test.sh'])无法工作,因为没有参数空间。是否有子流程的其他分支可以使用
subprocess.call(['./test.sh'])
你可以这样做。请查看以下文档: 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(),这是一种过时的方法
subprocess.run()
subprocess.call()
你可以这样做。请查看以下文档: Python2: https://docs.python.org/2/library/subprocess.html
Python3.8: https://docs.python.org/3.8/library/subprocess.html
例如:
您也可以使用以下功能:
参数是列表中的附加元素
您还应该使用
subprocess.run()
而不是subprocess.call()
,这是一种过时的方法相关问题 更多 >
编程相关推荐