【发布时间】:2010-10-05 09:00:38
【问题描述】:
我正在尝试通过调用 cvs.exe 进程从 Python 进行 CVS 登录。 当手动调用 cvs.exe 时,它会向控制台打印一条消息,然后等待用户输入密码。
当使用 subprocess.Popen 调用它时,我注意到调用阻塞了。代码是
subprocess.Popen(cvscmd, shell = True, stdin = subprocess.PIPE, stdout = subprocess.PIPE,
stderr = subprocess.PIPE)
我认为它阻塞是因为它正在等待输入,但我的期望是调用 Popen 会立即返回,然后我可以调用 subprocess.communicate() 来输入实际密码。如何实现这种行为并避免阻塞 Popen?
操作系统:Windows XP
Python:2.6
cvs.exe:1.11
【问题讨论】:
标签: python windows subprocess