写点什么

python 入门之 os 模块和 platform 模块

作者:技能实验室
  • 2022-10-19
    河南
  • 本文字数:1284 字

    阅读完需:约 1 分钟

OS 模块

1、python 中内置了一个操作系统相关的模块


os 模块


这个模块提供了多数操作系统的功能接口函数。在不同系统执行时,os 模块会自适应于不同的操作系统平台,调用不同的接口;


2、导入 os 模块:


import os


3、常用命令:


获取系统名称 os.name 获取当前工作目录 ;os.getCwd()执行命令: os.system('命令行')


文件和文件夹相关:os.remove(path) 删除指定的文件 os.rename(src,dest) 重命名文件或目录 os.stat(path) 返回文件的所有属性 os.listdir(path) 返回 path 目录下的文件和目录列表 os.mkdir(path) 创建目录 os.makedirs(path1/path2/path3/.....) 创建多级目录 os.rmdir(path) 删除目录 os.removedirs(path1/path2/path3/...) 删除多级目录


路径相关函数:os.path.isabs(path) 判断 path 是否是绝对路径 os.path.isdir(path) 判断 path 是否为目录 os.path.isfile(path) 判断 path 是否为文件 os.path.exists(path) 判断指定路径的文件是否存在 os.path.getsize(filename) 返回文件大小 os.path.abspath(path) 返回绝对路径

platform 模块

platform 模块也是系统内置模块,给我们提供了很多方法去获取操作系统的信息


参考以下注释信息:


import platformplatform.platform() #获取操作系统名称及版本号,platform.version() #获取操作系统版本号,platform.architecture() #获取操作系统的位数platform.machine() #计算机类型,platform.node() #计算机的网络名称,platform.processor() #计算机处理器信息,platform.uname() #包含上面所有的信息汇总
复制代码

扩展第三方库 psutil

psutil 是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括 CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如 ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap 等。官网地址:http://pythonhosted.org/psutil/安装方式: pip install psutil


示例代码:


#!/usr/bin/env python3# -*- coding: utf-8 -*-import psutilimport time
'''监控服务进程并重启'''
monitor_name = set(['httpd','keepalived']) # 用户指定监控的服务进程名称
monitor_map = {'httpd': 'systemctl restart httpd','keepalived': 'systemctl restart keepalived' # 系统在进程down掉后,自动重启}

proc_dict = {}proc_name = set() # 系统检测的进程名称

while True: for proc in psutil.process_iter(attrs=['pid','name']): proc_dict[proc.info['pid']] = proc.info['name'] proc_name.add(proc.info['name']) # 通过集合的形式来找出停掉的进程名,前者有但是后者没有的 proc_stop = monitor_name - proc_name # 如果确实有监控的进程停掉了,需要自动重启功能 if proc_stop: for p in proc_stop: p_name = p # 执行重启命令,然后判断是否重启成功 os.system(monitor_map[p_name])
复制代码


发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-07-26 加入

还未添加个人简介

评论

发布
暂无评论
python入门之os模块和platform模块_10月月更_技能实验室_InfoQ写作社区