我是python中的子进程的新手,我需要生成一些独立的子进程,让它们保持活动状态并将命令传递给它们 . 乍一看,子进程库是我正在寻找的 .

我已经阅读了documenations,因为我必须指定输入 .

我需要通过windows命令行运行命令,因此下面的玩具示例足够好,如果我有它工作,我'm pretty much done. Running code below via IDLE opens a new cmd window, printing a list of cwd files, however I can' t写入它没有指定stdin(将使用 p.stdin.write('DIR') 写入它,其中 'DIR' 是一个示例命令) .

from subprocess import Popen, PIPE
p = Popen(['cmd', '/K', 'DIR'])

因此,我根据文档将stdin指定为PIPE .

from subprocess import Popen, PIPE
p = Popen(['cmd', '/K', 'DIR'], stdin=PIPE)

但是,运行第二段代码会立即终止打开的cmd窗口 . 这是预期的行为吗?据我在文件中找到,只有 p.kill()p.terminate() 结束子进程 . 如果是这样,可能的解决方法是什么?如果没有,我做错了什么,我应该使用哪些其他库?谢谢!