如何处理':'在使用os.popen的命令中

时间:2015-04-15 19:52:56

标签: python pipe popen

我正在尝试用以下方式调用程序:

os.popen("program -s:'*' -c:'A;B;C;'")

但是,它似乎被解释为shell命令:

program -s '*' -c 'A;B;C;'

导致不正确的行为。

有人可以帮助我解决如何在shell命令行中使用':'来解决这些问题吗?

1 个答案:

答案 0 :(得分:1)

请勿使用os.popen(),请改用subprocess module

import subprocess

result = subprocess.check_output(['program', "-s:'*'", "-c:'A;B;C;'"])

这将返回程序的输出而不通过shell运行,直接传入参数而无需任何额外的解析。