Python常用运维模块
1、OS模块
OS模块是运维工程师在运维工作过程中使用最为频繁的模块,其中提供了大量操作系统底层的接口,帮助运维工程师完成自己的运维工作。
os.getcwd()
获取当前工作目录,即当前Python脚本的目录路径
os.chdir("dirpath")
更改当前脚本工作目录,相当于在 Shell 下执行 cd 命令
os.curdir
返回当前目录路径
os.pardir
返回上一级目录路径
os.makedirs("dir1/dir2")
递归生成目录路径
os.removedirs('dirname1')
删除目录,如果其中有文件,则递归删除
os.mkdir("dir")
删除目录,若目录不为空则无法删除,报错;相当于 shell 中 rmdir。
os.listdir("dir")
列出特定目录下文件和子目录
os.remove()
删除某个特定文件
os.rename("old name","newname")
重命名某个文件
os.stat("filename")
获取某个文件/目录的信息
os.sep
输出目录路径分隔符,可以用于处理不同平台之间的差异
os.linesep
输出文件行终止符,可以用于处理不同平台之间的差异
os.pathsep
输出用于分隔文件路径的字符串,可以用于处理不同平台之间的差异
os.name
输出当前操作系统的名称,可以用于处理不同平台之间的差异
os.environ
获取当前系统的环境变量
os.access(path,mode)
判断是否有权限对文件进行读、写、执行等操作
os.chmod(path,mode)
修改文件的权限
os.chown(path,uid,gid)
修改文件的属主和属组
os.symlink(src,dst)
创建软连接
os.times()
获取系统进程运行时间
2、Shutil 模块
Shutil 模块提供了一系列的 Shell 功能,让运维工程师可以用更简单的方式完成 OS 模块无法完成的功能。
shutil.copyfile(src,dst)
复制源文件到目标路径
shutil.copymode(src,dst)
复制源文件权限到目标文件
shutil.copystat(src,dst)
复制源文件文件、最近修改时间、Flag 等到目标文件
shutil.copy(src,dst)
复制源文件到目标路径
shutil.copy2(src,dst)
复制源文件及相关元信息到目标路径
shutil.move(src,dst)
移动文件/目录
shutil.disk_usage(path)
返回对应路径的磁盘的使用统计情况
shutil.copytree(src,dst)
将 src 的整个目录树复制到 dst 目录
shutil.which
获取要执行的命令的路径
3、Sys模块
sys.exit(0)
退出当前进程。参数为 0 时表示正常退出;参数为 1 时表示异常退出
sys.version
获取 Python 版本
sys.path
获取模块的搜索路径
sys.platform
获取操作系统名称
sys.stdin
标准输入
sys.stdout
标准输出
sys.stderr
错误输出
4、Datetime模块
datetime.date(year,month,day)
构建一个 date 对象
datetime.date(year,month,day).today()
返回当前的本地日期
datetime.date(year,month,day).strftime(format)
对时间进行格式化后输出
datetime.now()
返回当前时间
datetime.timestamp()
返回当前时间戳
5、Psutil模块
psutil 模块非 Python 内置模块,在使用前需要执行 pip install psutil 进行安装。
psutil.cpu_count()
获取 CPU 逻辑核心数
psutil.cpu_count(logical=False)
获取 CPU 物理核心数
psutil.cpu_times()
获取 CPU 的用户/系统/空闲时间
psutil.virtual_memory()
获取系统的内存信息
psutil.swap_memory()
获取系统交换内存的信息
psutil.disk_partitions()
获取磁盘分区信息
psutil.disk_usage('/')
获取磁盘使用情况
psutil.disk_io_counters()
获取磁盘 IO
psutil.net_io_counters()
获取网络读写包的情况
psutil.net_if_addrs()
获取网络接口信息
psutil.net_if_stats()
获取网络接口状态
psutil.pids()
获取所有进程信息