Linux-python运维模块

📅 发布时间:2026/7/13 7:10:52 👁️ 浏览次数:
Linux-python运维模块
1.os模块-创建删除文件import osos模块方法作用os.mkdir()创建目录os.chdir()改变目录名os.getcwd()显示当前目录os.rmdir()删除目录os.path.abspath()拼接字符串os.path.join()os.path.split()将目录与文件分开os.path.dirname()只显示目录os.path.basename()只显示文件os.path.exists()判断文件、目录是否存在2.shutil模块-复制移动压缩文件import shutilshutil模块方法作用shutil.copy() shutil.copy2()复制文件到目录可以重命名copy2表示保留所有源数据shutil.copytree()复制整个目录shutil.move()移动文件目录可以重命名shutil.make_archive()打包压缩目录3.platform模块-查看系统信息import platformplatform模块方法作用platform.system()查看操作系统platform.release()查看系统版本platform.machine()CPU架构4.psutil模块-查看系统信息import psutilpsutil模块方法功能类别psutil.cpu_times()CPUpsutil.cpu_percent()psutil.cpu_count()psutil.virtual_memory()内存psutil.swap_memory()psutil.disk_partitions()磁盘psutil.disk_usage(path)psutil.disk_io_counters()psutil.net_io_counters()网络psutil.net_connections()psutil.net_if_addrs()psutil.pids()进程psutil.Process(pid)process.name(),process.exe()process.cpu_percent(),process.memory_info()process.terminate(),process.kill()psutil.boot_time()系统信息psutil.users()5.datetime模块import datetime6.使用案例6.1删除指定天数的文件#!/usr/bin/env python3 import os import shutil from datetime import datetime from datetime import timedelta def clean_old_file(log_dir, keep_day): print(f正在删除 {keep_day} 天之前的文件, 从 {log_dir} 目录正在清理) old_time datetime.now() - timedelta(dayskeep_day) #当前时间往前推keep_day的那一刻 deleted_count0 deleted_total_size0 for filename in os.listdir(log_dir): filepathos.path.join(log_dir,filename) if os.path.isfile(filepath): file_mtimedatetime.fromtimestamp(os.path.getmtime(filepath)) if file_mtime old_time: file_sizeos.path.getsize(filepath) try: #防止以下代码报错 os.remove(filepath) deleted_count1 deleted_total_sizefile_size print(f已删除: {filepath} (大小: {file_size/1024/1024}MB)) except Exception as e: #如果出现异常执行下面语句 print(f删除异常 {filepath}: {e}) print(f删除文件数量: {deleted_count } 个) print(f删除文件总大小: {deleted_total_size/1024/1024}MB) if __name__ __main__: # 这里的代码只有在直接运行该文件时才会执行 clean_old_file(/tmp,7) #这里设置指定目录与指定天数6.2监控系统信息#!/usr/bin/env python3 import psutil import time def system_monitor(): 实时系统监控 print(️ 实时系统监控 (按CtrlC退出)) print( * 50) try: # 主要代码块 - 可能抛出异常的代码 while True: # CPU信息 cpu_percent psutil.cpu_percent(interval1) cpu_count psutil.cpu_count() # 内存信息 memory psutil.virtual_memory() memory_percent memory.percent #这是在大多数编程和脚本环境中将字节转换为千兆字节的标准方法。 memory_used_gb memory.used / (1024**3) memory_total_gb memory.total / (1024**3) # 磁盘信息 disk psutil.disk_usage(/) disk_percent disk.percent disk_used_gb disk.used / (1024**3) disk_total_gb disk.total / (1024**3) # 网络信息 net_io psutil.net_io_counters() bytes_sent_mb net_io.bytes_sent / (1024**2) bytes_recv_mb net_io.bytes_recv / (1024**2) # 清屏并显示信息 print(\033[H\033[J) # 清屏 print(fCPU使用率: {cpu_percent}% ({cpu_count}核心)) print(f内存: {memory_percent}% ({memory_used_gb:.1f}GB / {memory_total_gb:.1f}GB)) print(f磁盘: {disk_percent}% ({disk_used_gb:.1f}GB / {disk_total_gb:.1f}GB)) print(f网络: 发送 {bytes_sent_mb:.1f}MB / 接收 {bytes_recv_mb:.1f}MB) print(- * 50) time.sleep(2) #功能说明 #KeyboardInterrupt - 当用户按下 CtrlC 时触发的异常 #except - 捕获并处理这个特定异常 #print(\n 监控结束) - 友好地显示结束消息 except KeyboardInterrupt: #如果返回KeyboardInterrupt报错执行下面语句 print(\n 监控结束) system_monitor()