Python自动化运维相关总结

来源:互联网 发布:网络保险和传统保险 编辑:程序博客网 时间:2024/06/11 03:15

Python自动化运维相关总结

1. Python开发及调试环境


1.1 Python编辑器

  • Eclipse:专业的程序开发工具,需要结合pydev使用
  • PyCharm:专用的Python开发工具

1.2 Python的包管理工具

  • easy_install:可以用来安装、查看、卸载安装包
  • pip:是easy_install的改进版,能够实现的功能更多,现在也最常用

1.3 Python编程常用工具

  • IPython:提供交互式编程,一款强大好用的调试工具
  • jupyter:基于ipython,让你可以通过浏览器进行python程序远程调试
  • pyenv:方便管理不同的python版本,支持多版本python在一个系统下运行
  • virtualenv:可以用来管理不同的项目,结合pyenv使用更加犀利

2.打造命令行工具


2.1 sys模块

  • 使用sys.argv获取命令行参数
  • 使用sys.stdin和fileinput读取标准输入
  • 使用SystemExit异常打印异常信息
  • 使用getpass库读取密码

2.2 使用ConfiParse解析配置文件

2.3 使用argparse解析命令行参数

2.4 使用logging记录日志

3.5 使用click解析命令行参数

3.文本处理


  • 字符串格式化:format形式化
  • 正则表达式
  • 字符串编码:utf8,unicode
  • Jinja2模板:输出带有变量的文本

4.linux系统管理


4.1 文件读写

with open('/etc/passwd', 'r+') as f:    print(f.read())

4.2 文件与文件路径管理:os模块

  • os.getcwd():获取当前路径
  • os.basename():
  • os.abspath():
  • os.isabs():
  • os.getatime()
  • os.getctime()
  • os.getmtime()
  • os.listdir()
  • os.path.realpath()
  • os.rmdir()
  • os.remove()
  • os.removedirs()
  • os.rename()

4.3 查找文件

  • fnmatch:支持通配符查找
  • glob:查找特定文件
  • os.walk:遍历目录书

4.4 高级文件处理接口shutil

  • 复制文件:shutil.copy
  • 复制文件夹:shutil.copytree
  • 文件或文件夹的移动或改名:shutil.move

4.5 文件夹管理

  • 目录和文件比较:filecmp模块
  • MD5校验和比较:hashlib模块

4.6 使用Python管理压缩包

  • tarfile:读取、创建tar包
  • zipfile:创建和读取zip文件
  • shutil:创建和读取压缩包

4.7 Python中执行外部命令

  • subprocess.call:执行外部命令
  • subprocess.check_call:与call类似
  • subprocess.check_output:

5.用python编写的系统监控程序


  • dstat:用来替代vmstat,netsta,ifstst,iostat等,功能强大,实时显示系统的资源状态
  • glances:交互式监控工具,能够实时监控系统资源的状态
  • htop:改进的top命令,功能更强,显示更明了
  • psutil模块:可以获取系统的各项参数,一些监控工具就是基于此模块开发的

6.文档与报告


  • excel文档操作工具:openpyxl模块
  • pdf文件操作工具:PyPDF2模块
  • 创建pdf文档:PdfFileWrite模块
  • 图片管理:
    • Pillow模块
    • Image模块
  • 使用邮件发送报告:smtplib模块,mime模块