通过使用python,如何使用cmd.exe支持的命令并在python中查看输出? 我这样做的原因是获得Microsoft .NET框架版本。目前我只能通过cmd.exe使用以下命令找到它:
wmic product where "Name like 'Microsoft .Net%'" get Name, Version
所以我想让python执行上面的命令并返回结果并将它们写入文件。
答案 0 :(得分:0)
这是一种关于如何使用subprocess模块从python执行cmd命令的方法。
代码:以下代码只是使用ping 127.0.0.1
命令ping环回地址,然后将结果写入文件。可以在Docs找到用于python中文件处理的here。
import subprocess
def myFunc():
p = subprocess.Popen("ping 127.0.0.1", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print out
print err
with open('myOutputFile.txt', 'w') as f:
f.write(out) #Write the output to a file
myFunc()
将ping 127.0.0.1
替换为其他cmd命令,它应该可以正常工作。例如:netstat -a
。
注意:在控制台中看到输出可能需要一段时间,因为当cmd命令执行完毕后,输出将返回到控制台!
以下代码可以完成您的工作:
import subprocess
def myFunc():
p = subprocess.Popen("wmic product where \"Name like 'Microsoft .Net%'\" get Name, Version", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print out
print err
with open('myOutputFile.txt', 'w') as f:
f.write(out) #Write the output to a file
myFunc()
希望它有所帮助!