0

我正在编写一个使用os.system命令调用 shell 脚本的 python 脚本。我需要帮助理解如何将参数传递给 shell 脚本?以下是我正在尝试的..但它不起作用。

os.system('./script.sh arg1 arg2 arg3')

我不想subprocess用于调用 shell 脚本。任何帮助表示赞赏。

4

2 回答 2

1

将您的脚本和它的 args 放入一个字符串中,请参见下面的示例。

高温高压

#!/usr/bin/env python

import os

arg3 = 'arg3'
cmd = '/bin/echo arg1 arg2 %s' % arg3

print 'running "%s"' % cmd

os.system(cmd)
于 2013-08-29T01:06:26.717 回答
0

如果您在 os.system (...) 之前插入以下行,您可能会看到您的问题。

print './script.sh arg1 arg2 arg3'

在开发这种类型的东西时,在实际尝试之前确保命令确实是您所期望的通常很有用。

例子:

def Cmd():
    return "something"

print Cmd()

当您满意时,注释掉该print Cmd()行并使用os.system (Cmd ())或子流程版本。

于 2013-08-28T23:38:02.880 回答