通过子进程与命令行程序交互

2024-06-16 11:02:29 发布

您现在位置:Python中文网/ 问答频道 /正文

p = subprocess.Popen(['strapp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,cwd='C:\\Users\\mac\\DeskTop\\NIST')
output,err = p.communicate(b'\n\n4\nn-decane\nn-dodecane\nmethylcyclohexane\nbutylbenzene\n \
0.2030\n0.3810\n0.1470\n')#0.2690\n')
print(output.decode('GBK'))
print('Exit code:',p.returncode)

我试着用subprocess运行一个命令行程序,在代码被注释掉之前,一切似乎都进行得很顺利,但是当我取消了hashmark并继续输入时,程序被阻塞了,我不能再输入任何命令行,也不会输出任何东西,这可能是什么原因造成的? enter image description here


Tags: 命令行程序outputmacstderrstdinstdoutnn