我正在编写一个使用os.system
命令调用 shell 脚本的 python 脚本。我需要帮助理解如何将参数传递给 shell 脚本?以下是我正在尝试的..但它不起作用。
os.system('./script.sh arg1 arg2 arg3')
我不想subprocess
用于调用 shell 脚本。任何帮助表示赞赏。
将您的脚本和它的 args 放入一个字符串中,请参见下面的示例。
高温高压
#!/usr/bin/env python
import os
arg3 = 'arg3'
cmd = '/bin/echo arg1 arg2 %s' % arg3
print 'running "%s"' % cmd
os.system(cmd)
如果您在 os.system (...) 之前插入以下行,您可能会看到您的问题。
print './script.sh arg1 arg2 arg3'
在开发这种类型的东西时,在实际尝试之前确保命令确实是您所期望的通常很有用。
例子:
def Cmd():
return "something"
print Cmd()
当您满意时,注释掉该print Cmd()
行并使用os.system (Cmd ())
或子流程版本。