Linux 调用windows cmd,关于python调用windows、linux的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

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

windows下cmd一次执行多条命令:

import os

# os.system("ipconfig")

p=os.popen('"ipconfig"&"help" ') #p=os.popen("ipconfig"+" && "+"help") #重点,1个&和2个&效果一样

print(p.read())

python执行linux命令的三种方式

import subprocess

import os

def subprocess_():

"""

subprocess模块执行linux命令

:return:

"""

subprocess.call("ls") # 执行ls命令

def system_():

"""

system模块执行linux命令

:return:

"""

# 使用system模块执行linux命令时,如果执行的命令没有返回值res的值是256

# 如果执行的命令有返回值且成功执行,返回值是0

res = os.system("ls")

def popen_():

"""

popen模块执行linux命令。返回值是类文件对象,获取结果要采用read()或者readlines()

:return:

"""

val = os.popen('ls').read() # 执行结果包含在val中

def main():

subprocess_() # 方法1

system_() # 方法2

popen_() # 方法3

if __name__ == '__main__':

main()

个人理解:

python执行命令行,在win和linux没有多大区别,基本通用,除非本身命令不一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值