我想用pexpect做一些类似的事情
echild = pexpect.spawn('/bin/bash -c "sysinfo -v | grep "SCM"')
fout = file('/home/kiva/release_file.txt' , 'w+')
child.logfile = fout
问题是我想把这个命令的out放到一个textfile中,但是我必须启动一个shell,因为我们不能在spawn()中使用管道。bashshell不理解sysinfo-v并对此进行了抱怨。在
你们有什么想法或者知道一种方法,我可以在不打开bash终端的情况下将所需的输出输入到文件中吗?我可以通过使用spawn()方法来解决这个问题,而不需要重新映射它,但是我需要精确的匹配,因此grep是必需的。在
谢谢你
从您的简短示例中,我不明白为什么您需要使用pexpect来实现这一点。我会走
Popen
的路。以下是一个可能会被证明有用的链接:Replacing shell pipeline - Popen
相关问题 更多 >
编程相关推荐