-1
我需要从Windows下的python脚本启动python控制台。 此控制台的输出必须写在文本框中。 我使用的子进程'的原因python控制台可以是python 2或3,取决于用户的选择,所以我不能使用code.InteractiveConsole。 现在,我用subprocess.Popen启动python,stdin = PIPE,stdout和stderr是两个文件子类,其写入方法在我的文本框中打印。Python:如何从Windows下的Python脚本启动一个不可见的Python控制台?
class output(file):
def __init__(self):
super(output,self).__init__("out","wb")
def write(self,data):
MyTextBox.Text = data
out=output()
一切都好。 p = Popen(“python -i”,stdin = PIPE,stdout = out,stderr = err) err是其他类,与输出相同,但是是其他文件。 好的,p是一个子进程,但stdout和stderr是None。 当然,我错了什么,但我不明白! 也许我必须使用4个变量? out_write和out_read用于stdout和err_write,err_read用于stderr? 帮助!
代码的例子是相当不清楚,请您提供一个[MCVE](http://stackoverflow.com/help/mcve) ? –
对不起,我没有公布所有资料,但我解答了答案。现在我可以从我的不可见的Python控制台抓取输出和错误。谢谢! –