目标是通过预执行某些命令来打开python终端。在现实生活中,它加载了一些模块并定义了一些变量,但这里有一个简化版本:
from subprocess import Popen, CREATE_NEW_CONSOLE
r=Popen("python",creationflags=CREATE_NEW_CONSOLE)
r.communicate(input=b"print(2+2)")
使用CREATE_NEW_CONSOLE,因为否则终端窗口不会出现(我从IDE运行代码)。上面的代码打开了一个python终端窗口,但输入并没有到达那里。尝试某些变化会阻止窗口出现,例如:
r=Popen(["python","print(2+2)"],creationflags=CREATE_NEW_CONSOLE)
或
r=Popen("python",creationflags=CREATE_NEW_CONSOLE, stdin=PIPE)
r.communicate(input=b"print(2+2)")
那么可以做些什么来解决这个问题呢?
答案 0 :(得分:2)
这是环境变量PYTHONSTARTUP
的用途......
请参阅:https://docs.python.org/2/using/cmdline.html#envvar-PYTHONSTARTUP
另一种选择是使用-c
-i
开关
C:\>python -i -c "x = 2+2;y=3+3"
>>> x
4
>>> y
6
>>>