在没有引号的情况下在Python上调用外部命令

时间:2011-09-16 12:39:16

标签: python linux shell call subprocess

遵循给出的建议; Calling an external command in Python

我一直在尝试使用call()函数调用外部命令,但是我需要调用的命令被正确调用,但它不喜欢传递给它的参数。 这是因为Call函数传递带有's'的参数。

E.g

test = call(['/opt/program/something/lookup', 'search "bob"'])

必须将搜索部分传递给命令查找而不包含任何字符,我尝试了几种不同的调用函数排列,不同级别的引号,空格,缺少逗号等。第二个语句 - bob,必须在引号内。

有干净的方法吗?

测试atm的返回值示例;

Error: 'search "bob"' is not a valid command.

1 个答案:

答案 0 :(得分:6)

这应该有效 - 如果没有,请更新问题,并附上具体的错误文字:

test = call(['/opt/program/something/lookup', 'search', '"bob"'])