python入门之os模块和platform模块

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 platform
platform.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 psutil
import 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])

你可能感兴趣的:(python基础技能,监控,os,psutil,python,操作系统)