pexpect中的文件写入命令不像我想象的那样

时间:2012-06-06 00:07:51

标签: python linux command-line pexpect

我可以从命令行运行一个进程,该命令行将数据连续写入文件,直到我告诉它停止,并且可以在进程运行时访问(读取)。

但是,如果我通过pexpect运行相同的命令,文件将保持为空(尽管可以读取),直到我停止pexpect实例。只有这样,文件才会填满数据。

这只是pexpect的一个特征还是我在这里做错了什么?

pexpect命令:

child = pexpect.spawn('airodump-ng', ['-a', '-w', '/root/Desktop/TEST', '--output-format', 'csv', INTERFACE])

1 个答案:

答案 0 :(得分:0)

我从未使用airodump-ng;如果是火灾并忘记锻炼(没有互动),您应该使用pexpect.run()进行非交互式任务,例如ls -la

results = pexpect.run('ls -la')

如果您需要互动,只需将您的args放在一个字符串中......

child = pexpect.spawn('airodump-ng -a -w /root/Desktop/TEST --output-format csv %s' % INTERFACE)