os
os 模块在运维工作中是很常用的一个模块。通过os模块调用系统命令。os模块可以跨平台使用。
在 import os的时候,建议使用import os而非from os import *。这样可以避免os.open()不会覆盖内置函数open().
os.name()
判断系统类型
import os
print os.name
# linux和Unix系统会返回`posix`
# windows 系统会返回`nt`
os.system()
执行系统命令的模块,返回命令执行的状态码,开启一个子shell执行命令
import os
cmd = 'ifconfig'
retval = os.system(cmd)
print retval
# 结果为 0
# 表示命令执行成功,否则为失败
os.popen()
popen也是去执行一个命令,不过相比system(cmd),os.popen(command [, mode='r' [, bufsize]]),参数更多,而且是开启一个管道去执行。
cmd - 执行的命令
mode - 模式权限可以是'r'(默认)或'w'
buffering - 0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。(不明