我正在Python 2.6中开发一个GUI前端,它通常相当简单:使用subprocess.call()
或subprocess.Popen()
来发出命令并等待它完成或对错误作出反应。如果有一个程序停止并等待用户交互,您会怎么做?例如,程序可能会停止并要求用户提供ID和密码,或者如何处理错误?
c:\> parrot
Military Macaw - OK
Sun Conure - OK
African Grey - OK
Norwegian Blue - Customer complaint!
(r) he's Resting, (h) [Hit cage] he moved, (p) he's Pining for the fjords
到目前为止,我所读到的所有内容都告诉您如何仅在程序完成后读取程序的所有输出,而不是在程序仍在运行时如何处理输出。我不能安装新的模块(这是一个LiveCD),我将处理用户输入不止一次。
查看subprocess手册。您可以使用
subprocess
选项将您调用的进程的stdin
、stdout
和stderr
重定向到您自己的进程。您还可以逐行与流程交互。假设这是
prog.py
:您可以通过以下方式与it部门进行逐行交互:
编辑:在python3中,它必须是
'mike'.encode()
。相关问题 更多 >
编程相关推荐