您想专用一个终端还是一个 python shell?
您已经对 Popen 和 Subprocess 有了一些有用的答案,如果您已经计划使用它,也可以使用 pexpect。
#for multiple python shells
import pexpect
#make your commands however you want them, this is just one method
mycommand1 = "print 'hello first python shell'"
mycommand2 = "print 'this is my second shell'"
#add a "for" statement if you want
child1 = pexpect.spawn('python')
child1.sendline(mycommand1)
child2 = pexpect.spawn('python')
child2.sendline(mycommand2)
根据需要制作尽可能多的孩子/贝壳,然后使用 child.before() 或 child.after() 来获取您的回复。
当然,您可能希望添加要发送的定义或类而不是“mycommand1”,但这只是一个简单的示例。
如果你想在 linux 中做一堆终端,你只需要替换 pextpext.spawn 行中的'python'
注意:我没有测试过上面的代码。我只是从过去的经验中回复 pexpect。