python调用Windows的cmd命

关于python调用cmd命令:

主要介绍两种方式:

python的os模块

os模块调用CMD命令有两种方式:os.popen(),os.system() 都是用当前进程来调用。

os.system是无法获取返回值的。当运行结束后接着往下面执行程序。

用法如:os.system(“ipconfig”)

import os    os.system("ipconfig")    执行结果如下:    Windows IP 配置      无线局域网适配器 无线网络连接:       媒体状态  . . . . . . . . . . . . : 媒体已断开     连接特定的 DNS 后缀 . . . . . . . :    以太网适配器 本地连接:       连接特定的 DNS 后缀 . . . . . . . :     本地链接 IPv6 地址. . . . . . . . : fe80::e1c4:78dd:65a8:7bac%13     IPv4 地址 . . . . . . . . . . . . : 192.168.180.102     子网掩码  . . . . . . . . . . . . : 255.255.255.0     默认网关. . . . . . . . . . . . . : 192.168.180.1

OS.popen带返回值的,如何获取返回值。

如下:

  p = os.popen(cmd)

print p.read()   #得到的是个字符串。

import os    d = os.popen("ipconfig")  print(d.read())    执行结果如下:    Windows IP 配置      无线局域网适配器 无线网络连接:       媒体状态  . . . . . . . . . . . . : 媒体已断开     连接特定的 DNS 后缀 . . . . . . . :    以太网适配器 本地连接:       连接特定的 DNS 后缀 . . . . . . . :     本地链接 IPv6 地址. . . . . . . . : fe80::e1c4:78dd:65a8:7bac%13     IPv4 地址 . . . . . . . . . . . . : 192.168.180.102     子网掩码  . . . . . . . . . . . . : 255.255.255.0     默认网关. . . . . . . . . . . . . : 192.168.180.1

这两个都是用当前进程来调用,也就是说它们都是阻塞式的。