比如this,它展示了如何与Python中的shell交互,将内容发送到它的stdin,并从它的stdout阅读回内容。
除此之外我还想做一件事:
- 启动一个运行shell的进程--例如:
subprocess.Popen(["powershell --someArgs"])
- 通过以下方式与shell/进程交互:
- 通过stdin向其发送临时命令(可能需要一段时间并产生大量输出的命令)
- 通过stdout使用每个命令输出,
*确定每个命令完成的时间,并获取每个命令的返回代码,以了解哪些命令成功或失败。
我怀疑没有办法完成最后一部分,除了让shell自己打印它的最后一个返回代码,并让父进程从stdout中解析它(同时,扫描stdout的提示符以了解命令何时完成?)。
代码示例是受欢迎的,但不是必须的--精确的描述应该足够好:-)
(理想情况下,使用subprocess
等内置模块,而无需安装任何新的软件包。)
1条答案
按热度按时间7lrncoxx1#
相反,这是最容易的部分。
当子进程终止时,它发送它的退出代码。它是
wait
方法的返回值请注意,您并不一定要等待进程完成,您可以在进程完成后“等待”它,并在这期间在python进程中执行其他任务(并行性是您调用子进程的原因之一)