8 python command-line subprocess
我需要编写一个Python脚本,它可以运行另一个命令行程序并与它的stdin和stdout流进行交互.本质上,Python脚本将从目标命令行程序读取,通过写入其stdin进行智能响应,然后再次从程序中读取结果.(它会反复这样做.)
我已经查看了子进程模块,我似乎无法让它执行我正在寻找的读/写/读/写操作.还有什么我应该尝试的吗?
请参阅问题 wxPython:如何创建 bash shell 窗口?
在那里,我与 bash shell 进行了全面的交互,读取 stdout 和 stderr 并通过 stdin 进行通信
主要部分是此代码的扩展
bp = Popen('bash', shell=False, stdout=PIPE, stdin=PIPE, stderr=PIPE)
bp.stdin.write("ls\n")
bp.stdout.readline()
Run Code Online (Sandbox Code Playgroud)
如果我们读取所有数据,它将被阻止,因此我给出的脚本链接会在线程中进行。这是一个完整的 wxpython 应用程序,部分模仿 bash shell。
| 归档时间: |
|
| 查看次数: |
9513 次 |
| 最近记录: |