Python os.system(cmd/all>;file)提供了一个空文件,如果我直接在命令提示符下运行命令,我将得到文本文件的输出

Python os.system(cmd/all>;file)提供了一个空文件,如果我直接在命令提示符下运行命令,我将得到文本文件的输出,python,cmd,os.system,vmrun,Python,Cmd,Os.system,Vmrun,我正在尝试使用“vmrun list”命令查找所有正在运行的VM,并希望在文本文件中输出 import os os.system("C:\\Program\ Files\ (x86)\\VMware\VMware\ VIX\\vmrun /all >C:\\Users\\xyz\\Documents\\qw.txt ") 当我在命令提示符下运行相同的命令时,我得到的是一个带有命令提示符输出的文件,但是当我在python中执行相同的操作时,我得到的是一个空文件。 如何从python脚本获取

我正在尝试使用“vmrun list”命令查找所有正在运行的VM,并希望在文本文件中输出

import os
os.system("C:\\Program\ Files\ (x86)\\VMware\VMware\ VIX\\vmrun /all >C:\\Users\\xyz\\Documents\\qw.txt ")
当我在命令提示符下运行相同的命令时,我得到的是一个带有命令提示符输出的文件,但是当我在python中执行相同的操作时,我得到的是一个空文件。
如何从python脚本获取文件的输出???

您应该了解子流程模块,通过示例命令getoutput。

我想知道手动运行与代码运行该命令时,该命令是否在不同的用户范围内运行。谢谢,我已将当前工作目录更改为VIX目录,并且它可以工作。默认情况下,使用
cmd.exe/c命令
。显然,您还没有阅读文档了解如何
cmd/c
。将整个命令行用一组额外的双引号括起来。或者将命令字符串(不是列表)传递给
子流程。使用
shell=True
调用
,或者使用
子流程。检查输出
并自己编写文件。