我正在尝试用以下方式调用程序:
os.popen("program -s:'*' -c:'A;B;C;'")
但是,它似乎被解释为shell命令:
program -s '*' -c 'A;B;C;'
导致不正确的行为。
有人可以帮助我解决如何在shell命令行中使用':'来解决这些问题吗?
答案 0 :(得分:1)
请勿使用os.popen()
,请改用subprocess
module:
import subprocess
result = subprocess.check_output(['program', "-s:'*'", "-c:'A;B;C;'"])
这将返回程序的输出而不通过shell运行,直接传入参数而无需任何额外的解析。