Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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:从Python脚本在windows命令提示符中执行windows命令_Python_Python 2.7_Python 3.x_Command Prompt - Fatal编程技术网

Python:从Python脚本在windows命令提示符中执行windows命令

Python:从Python脚本在windows命令提示符中执行windows命令,python,python-2.7,python-3.x,command-prompt,Python,Python 2.7,Python 3.x,Command Prompt,我必须在windows命令提示符下执行python脚本 我正在使用以下命令来运行该命令,以便脚本打开命令提示符并执行它 os.system("start /wait cmd /c {c:\\python27\\python.exe C:\\examples\\xml2html.py --dir c:\\Temp\\abcd c:\\tmp\\results.xml}") 我希望在该位置创建一个名为“abcd”的新目录,并在其中创建一些输出文件 当我在windows命令提示符下正常运行此命令时,

我必须在windows命令提示符下执行python脚本

我正在使用以下命令来运行该命令,以便脚本打开命令提示符并执行它

os.system("start /wait cmd /c {c:\\python27\\python.exe C:\\examples\\xml2html.py --dir c:\\Temp\\abcd c:\\tmp\\results.xml}")
我希望在该位置创建一个名为“abcd”的新目录,并在其中创建一些输出文件

当我在windows命令提示符下正常运行此命令时,它会工作。我无法在脚本中执行此操作。Windows命令提示符将快速打开并终止

有人能告诉我这个命令到底哪里出了问题吗?

除非你想打开一个新的控制台窗口,否则你不需要运行
cmd.exe(
%COMSPEC%
)来运行另一个Python脚本作为子进程:

import sys
from subprocess import check_call

check_call([sys.executable, "C:\\examples\\xml2html.py",
            "--dir", "c:\\Temp\\abcd", "c:\\tmp\\results.xml"])

应该没问题。您是否检查了目录是否已创建?大括号的作用是什么?刚刚在windows提示符下尝试
cmd.exe/c echo foo
正确输出
foo
。但是
cmd.exe/c{echo foo}
给出了一个错误(在Vista框中)。@sshashank124我已经检查了该目录,它没有创建one@SergeBallesta我用大括号@srp给出了完整的命令;恐怕参考文章中的花括号只是一种排版装饰。你应该试着移除它们。顺便问一下,你真的需要这么多翻译吗?你能导入第二个脚本并直接调用python函数吗?谢谢Sebastian。我不需要打开新的控制台窗口。它起作用了。@eryksun:您可以使用
cmd
打开一个新的控制台窗口,例如,请参阅(
start
是一个shell命令)@eryksun:您是对的:它不明确。我已经更新了答案。其含义是:不需要shell来作为子进程运行Python脚本。