python - 打开新的 cmd 窗口后,如何从 python 批处理文件在终端中推送命令?

标签 python batch-file cmd operating-system subprocess

我编写了一个批处理文件来打开一个新的命令终端。

我使用 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/

相关文章:

python - 在 python 中写入文件的单行

java - 如何从 java 应用程序运行 Windows 命令提示符?

python - 为什么正则表达式在 Python 2.7 中匹配一个额外的空格?

python - 将变量设置为无或删除变量之间有区别吗?

windows - 如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?

javascript - 自动启动和停止 node.js 脚本

windows - 我需要仅使用 native Windows 命令匹配或替换批处理环境变量中的星号 *。这可能吗?

Windows 批处理文件 - 批处理文件在需要一段时间才能完成的命令后停止执行

python - bson.errors.InvalidDocument : key '$oid' must not start with '$' trying to insert document with pymongo

batch-file - cmd 批处理 - usebackq 为 : string to split altered from comma separated to space separated