我正在寻找实现调用另一个脚本并捕获其stdout的python脚本。所调用的脚本会包含一些输入和输出消息,例如获取stdout以显示包含输入的调用脚本
print ("Line 1 of Text")
variable = raw_input("Input 1 :")
print "Line 2 of Text Input: ", vairable
我运行代码的部分是
import subprocess
cmd='testfile.py'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
so, se = p.communicate()
print(so)
所发生的问题是,标准输出不打印,直到后脚本已执行。这会留下空白的提示,等待用户输入。有没有办法让被调用的脚本仍在运行时输出stdout?
感谢,
从这里:HTTP://计算器。COM /问题/ 230751 /如何对平齐输出的 - 蟒蛇打印 进口SYS sys.stdout.flush() – 2012-03-30 03:48:23
哪个操作系统,你定位?这种类型的应用程序在Windows上有一些奇怪的现象 – Fuzz 2012-03-31 03:37:41
@Fuzz脚本需要在Windows XP和7上运行 – Scavenger 2012-03-31 03:49:23