我编写了一个批处理文件来打开一个新的命令终端。
我使用 Windows10 和 Python3,并且使用 subprocess 模块中的 popen() 函数。
打开命令窗口成功。但是,我无法推送/通过管道传输我希望新命令窗口运行的代码。
我想要在新命令窗口中运行的代码位于同一目录中,其名称为async.py
。
如何在我打开的新命令窗口上运行该脚本?
请注意,我已经阅读了以下文章: How to execute a command prompt command from python 但没有效果。
这是我的脚本:
from subprocess import Popen, CREATE_NEW_CONSOLE
Popen('cmd', creationflags=CREATE_NEW_CONSOLE)
新窗口打开。 如何在该窗口中运行脚本“async.py”?
我也尝试过:
runpy.run_module(mod_name='async')
但它在同一窗口中运行脚本。
我也尝试过:
os.popen('C:\\Users\\Me\\PycharmProjects\\async.py')
它绝对什么也不做。
回顾一下这个问题:
使用子进程成功打开Python脚本后,如何在新的终端窗口中运行Python脚本?
最佳答案
尝试在 cmd 之后添加/C,然后输入异步命令。像这样...
Popen('cmd /C async.py', creationflags=CREATE_NEW_CONSOLE)
您可能需要执行完整路径。此外,如果您需要启动第二个窗口,您可能需要运行如下命令:
start c:\windows\system32\cmd.exe /C c:\whatever\location\async.py
关于python - 打开新的 cmd 窗口后,如何从 python 批处理文件在终端中推送命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57458921/