如何在从 python 脚本打开 python 控制台后传递 python 命令?

How to pass python commands after opening a python console from a python script?

我在这里需要的是从 python 脚本打开一个 python 控制台,然后将命令传递到那个 python 控制台。

我需要使这个过程自动化。 Currntly 我正在使用 os.system 和子进程打开 python 控制台,但在那之后我完全坚持将 print("Test") 传递给 python 控制台。

这是我正在处理的示例代码。

import os
os.system("python")
#os.system("print('Hello World'))

# or 

import subprocess
subprocess.run("python", shell = True)

请帮助我了解如何传递嵌套命令。 谢谢

我从另一个线程中找到了一个非常有用的答案并将其应用于我的用例。

from subprocess import run, PIPE

p = run(['python'], stdout=PIPE,
        input='print("Test")\nprint("Test1")\nimport os\nprint(os.getcwd())', encoding='ascii')
print(p.returncode)
# -> 0
print(p.stdout)

它启动python shell然后执行以下由\n分隔的命令。

  1. 打印测试
  2. 打印测试 1
  3. 进口OS
  4. 获取当前工作目录。

参考: How do I pass a string into subprocess.Popen (using the stdin argument)?