使用Python和外部程序

时间:2015-10-01 07:41:10

标签: python .net cmd

通过使用python,如何使用cmd.exe支持的命令并在python中查看输出? 我这样做的原因是获得Microsoft .NET框架版本。目前我只能通过cmd.exe使用以下命令找到它:

wmic product where "Name like 'Microsoft .Net%'" get Name, Version

所以我想让python执行上面的命令并返回结果并将它们写入文件。

1 个答案:

答案 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()

希望它有所帮助!