通过Pexpect在另一个目录中启动程序

时间:2015-05-15 16:19:43

标签: python bash pexpect

我正在研究一个通过Pexpect模块控制C cli程序的Python脚本。 脚本和程序放在不同的目录中。我只能指定程序的绝对路径,但是有一个问题:

程序高度依赖于你运行它的目录:比如,如果你使用bash运行它,你必须在它所在的确切目录中,否则它将失败。

根据我的理解,默认情况下pexpect.spawn()会看到它作为"当前目录运行的目录"对于模拟的shell。

除了将脚本和程序放在一起之外,我还能做些什么呢?

不过,Python是2.7.6,pexpect == 3.3,bash shell

1 个答案:

答案 0 :(得分:2)

pexpect.spawn()接受cwd参数,您可以将其设置为所需目录吗?

pexpect.spawn(<cmd>, cwd="<path>")

可能会给你你想要的东西