我可以从命令行运行一个进程,该命令行将数据连续写入文件,直到我告诉它停止,并且可以在进程运行时访问(读取)。
但是,如果我通过pexpect运行相同的命令,文件将保持为空(尽管可以读取),直到我停止pexpect实例。只有这样,文件才会填满数据。
这只是pexpect的一个特征还是我在这里做错了什么?
pexpect命令:
child = pexpect.spawn('airodump-ng', ['-a', '-w', '/root/Desktop/TEST', '--output-format', 'csv', INTERFACE])
答案 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)