我有一个脚本,我想从Python (2.6.5)中运行,它遵循以下逻辑:
用户响应("Blah
最后一个提示行包含我需要解析的文本(filename.txt)。提供的响应并不重要(程序实际上可以在不提供响应的情况下退出,只要我可以解析这行代码)。
我的需求有点类似于,但那里的响应似乎有点令人困惑,即使操作员提到它不适合他,我的也仍然挂起。
通过环顾四周,我得出结论,subprocess
是做这件事的最好方法,但我有一些问题。这是我的Popen行:
p = subprocess.Popen("cmd", shell=True, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT, stdin=subprocess.PIPE)
stdout
上调用read()
或readline()
时,提示是printer to screen,它挂起。stdin
的write("password\n")
,提示符就会写入屏幕并挂起。write()
中的文本未写入(我不会将光标移动到新行)。p.communicate("password\n")
,则行为与的write()相同
我在这里寻找一些关于输入到stdin
的最佳方式的想法,以及如果您觉得慷慨的话,可能如何解析输出中的最后一行,尽管我最终可能会弄清楚。
https://stackoverflow.com/questions/11457931
复制相似问题