发送命令到打开的python终端

2024-09-28 03:22:24 发布

您现在位置:Python中文网/ 问答频道 /正文

目标是通过预执行一些命令来打开python终端。在现实生活中,它加载一些模块并定义一些变量,但这里有一个简化版本:

from subprocess import Popen, CREATE_NEW_CONSOLE

r=Popen("python",creationflags=CREATE_NEW_CONSOLE)
r.communicate(input=b"print(2+2)")

使用CREATE\u NEW\u控制台,因为否则终端窗口不会出现(我从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)")

那么,我们能做些什么来解决这个问题呢?你知道吗


Tags: 模块代码命令终端目标newinput定义
1条回答
网友
1楼 · 发布于 2024-09-28 03:22:24

这就是环境变量PYTHONSTARTUP的作用。。。你知道吗

见:https://docs.python.org/2/using/cmdline.html#envvar-PYTHONSTARTUP

enter image description here

另一种选择是使用-c-i开关

C:\>python -i -c "x = 2+2;y=3+3"
>>> x
4
>>> y
6
>>>

相关问题 更多 >

    热门问题