我正在使用pexpect.run
来执行命令。见下文:
cmd = "grep -L killed /dir/dumps/*MAC-66.log"
output = pexpect.run(cmd)
当我运行时,output
等于:
grep: /dir/dumps/*MAC-66.log: No such file or directory
但是当我在shell中运行相同的命令时,它每次都有效。我没有看到问题。任何帮助表示赞赏! pexpect.run 是否需要以某种奇特的方式拆分命令?
答案 0 :(得分:1)
你的shell正在解释glob,而pexpect却没有。您可以使用python的glob.glob()
函数自己评估glob,也可以通过shell运行它,例如:
cmd = "bash -c 'grep -L killed /dir/dumps/*MAC-66.log'"
此外,如果你所有人都输出了这个命令,你应该看看subprocess
模块。