Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:windows:subforces在新命令窗口中打开一个.bat文件并运行_Python_Windows_Subprocess - Fatal编程技术网

python:windows:subforces在新命令窗口中打开一个.bat文件并运行

python:windows:subforces在新命令窗口中打开一个.bat文件并运行,python,windows,subprocess,Python,Windows,Subprocess,我有一个bat文件,其中运行一个python文件 test.bat python test.py pause python代码文件是 test.py print("Hello World") import subprocess filepath=r"D:\test.bat" subprocess.Popen([filepath], shell=True) 现在我想使用supprocess并打开windows命令提示符并运行.bat文件 我尝试使用子

我有一个bat文件,其中运行一个python文件

test.bat

python test.py
pause
python代码文件是

test.py

print("Hello World")
import subprocess
filepath=r"D:\test.bat"
subprocess.Popen([filepath], shell=True) 
现在我想使用supprocess并打开windows命令提示符并运行.bat文件

我尝试使用子流程创建python脚本

test2.py

print("Hello World")
import subprocess
filepath=r"D:\test.bat"
subprocess.Popen([filepath], shell=True) 
现在,我尝试在命令Promp中运行这个python文件,并期望另一个windows命令提示符打开并运行test.py并暂停,我得到的是它没有打开,而是在那里运行bat文件本身

Microsoft Windows [Version 10.0.18363.1198]                                                                                                                     
(c) 2019 Microsoft Corporation. All rights reserved.                                                                                                            
                                                                                                                                                                
D:>python test2.py

D:>                                                                                                                                     
D:>python test.py                                                                                                                       
Hello World                                                                                                                                                     
                                                                                                                                                                
D:>pause                                                                                                                                
Press any key to continue . . . 

尝试在新的命令解释器中启动命令:

filepath=r"cmd /K D:\test.bat"

您可以使用Windows的命令,它启动一个单独的命令提示符窗口来运行指定的程序或命令:

import subprocess
filepath=r"D:\test.bat"
subprocess.Popen("start {}".format(filepath), shell=True)

我试过了,它就在那里运行哇,这很有效。我用了停顿。因此,在完成
python test.py
之后,它会停止,但是如果我点击enter,窗口就会关闭。如何在命令提示下保持窗口打开back@SanthoshYedidi:Use
subprocess.Popen(“start cmd.exe@cmd/k{}”.format(filepath),shell=True)
你能解释一下@cmd\k在这里做什么吗