一、前言
有时候在写一些脚本的时候,需要执行一些系统命令(windows/linux),因为这边会比较方便。用python原生的办法就比较复杂。下边就介绍集中常见的方法
二、os.system
os.system是python 内置模块,执行命令非常简单。可以将要执行的命令传递进去。用法比较简单。
返回值为:
1.执行结果
2.状态码: 0为成功,非0为失败 和shell 的$?一样
但是对于返回的结果没办法进行二次处理。
在liunx中执行
python">import osres = os.system("awk -F: '{print $1}' /etc/passwd |head -2")
print(res)
执行结果如下:
python">root
bin
0 # 此为状态码
三、os.popen
1.遍历结果并处理
python">import oscommand = "awk -F: '{print $1}' /etc/passwd |head -5"
with os.popen(command) as f:for i in f:print('---' + i.strip() + '----')
2.过滤指定内容是否存在
python">import oscommand = "awk -F: '{print $1}' /etc/passwd |head -5"
with os.popen(command) as f:list = [ i.strip() for i in f.readlines()]if "root" in list:print('管理员存在') else:print("管理员不存在")
3.读取所有内容
python">import oscommand = "awk -F: '{print $1}' /etc/passwd |head -5"
with os.popen(command) as f:print(f.read().strip())