Python 运维常用模块

基础库:sys、os(os.path、os.stat)、time、logging、prarmiko、re、random

Python运维常用的20个库

1、psutil是一个跨平台库(https://github.com/giampaolo/psutil
能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。

2、IPy(http://github.com/haypo/python-ipy),辅助IP规划。

3、dnspython(http://dnspython.org)Python实现的一个DNS工具包。

4、difflib:difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。

5、filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。

6、smtplib:发送电子邮件模块

7、pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。(PS:PycURL在前几天的文章里有提及过)

8、XlsxWriter:操作Excel工作表的文字,数字,公式,图表等。

9、rrdtool:用于跟踪对象的变化,生成这些变化的走走势图

10、scapy(http://www.wecdev.org/projects/scapy/)是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。

11、Clam Antivirus免费开放源代码防毒软件,pyClamad,可以让Python模块直接使用ClamAV病毒扫描守护进程calmd。

12、pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。

13、paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址:http://paramiko.org(依赖:Crypto,Ecdsa,Python开发包python-devel)

14、fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric在paramiko的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org(依赖setuptools,Crypto,paramiko包支持)

15、CGIHTTPRequestHandler实现对CGI的支持。

16、ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。

17、YAML:是一种用来表达数据序列的编程语言。

18、playbook:一个非常简单的配置管理和多主机部署系统。

19、saltstack(http://saltstack.com)是一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。

20、func,为解决集群管理,监控问题需设计开发的系统管理基础框架。

Python运维常用模块

  • csv:对于读取 csv 文件来说非常便利
  • collections:常见数据类型的实用扩展,包括 OrderedDictdefaultdict 和 namedtuple
  • random:生成假随机数字,随机打乱序列并选择随机项
  • string:关于字符串的更多函数。此模块还包括实用的字母集合,例如 string.digits(包含所有字符都是有效数字的字符串)
  • re:通过正则表达式在字符串中进行模式匹配
  • math:一些标准数学函数
  • os:与操作系统交互
  • os.pathos 的子模块,用于操纵路径名称
  • sys:直接使用 Python 解释器
  • json:适用于读写 json 文件(面向网络开发)

实用的第三方软件包

    • IPython - 更好的交互式 Python 解释器。
    • requests - 提供易于使用的方法来发出网络请求。适用于访问网络 API。
    • Flask - 一个小型框架,用于构建网络应用和 API。
    • Django - 一个功能更丰富的网络应用构建框架。Django 尤其适合设计复杂、内容丰富的网络应用。
    • Beautiful Soup - 用于解析 HTML 并从中提取信息。适合网页数据抽取。
    • pytest - 扩展了 Python 的内置断言,并且是最具单元性的模块。
    • PyYAML - 用于读写 YAML 文件。
    • NumPy - 用于使用 Python 进行科学计算的最基本软件包。它包含一个强大的 N 维数组对象和实用的线性代数功能等。
    • pandas - 包含高性能、数据结构和数据分析工具的库。尤其是,pandas 提供 dataframe!
    • matplotlib - 二维绘制库,会生成达到发布标准的高品质图片,并且采用各种硬拷贝格式和交互式环境。
    • ggplot - 另一种二维绘制库,基于 R’s ggplot2 库。
    • Pillow - Python 图片库可以向你的 Python 解释器添加图片处理功能。
    • pyglet - 专门面向游戏开发的跨平台应用框架。
    • Pygame - 用于编写游戏的一系列 Python 模块。
    • pytz - Python 的世界时区定义。

原文地址:https://www.cnblogs.com/LouisZJ/p/10781675.html

时间: 2024-08-13 08:10:16

Python 运维常用模块的相关文章

python运维常用语法

os.path.exists('/data') 判断目录和文件是否存在,判断当前路径是否存在 os.path.isdir('/data') 判断是否是一个目录os.path.isfile('/data/1.txt') 判断是否是一个文件os.access('/data/a', os.F_OK) 判断文件或目录是否存在,os.R_OK读 os.X_OK执行os.remove('/home/test/1.txt') 删除文件os.listdir('/home/test/') 把当前目录下的所有文件组

你必须知道的python运维常用脚本!(日常更新)

github地址:https://github.com/opsonly, 上面是一个基于python3.7和django2.1的多人博客系统,喜欢的可以给个star~ 判断是否是一个目录 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Time : 2018-12-18 15:16 # @Author : opsonly # @Site : # @File : opsUse.py # @Software: PyCharm import os d

服务器运维常用的python模块概述

最近开始复习python的使用,把服务器运维常用的模块的用法进行了实例化概述. ==========sort========================= python 排序: ls=[1,31,13,141,41] ls.sort() print ls 元组sort: >>> lst=[('wyl',24),('hjj',25),('zs',22),('lisi',14)] >>> sorted(lst,key=lambda lst:lst[1],reverse=

Python系统运维常用库

Python系统运维常用库 1.psutil是一个跨平台库(http://code.google.com/p/psutil/) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理. 2.IPy(http://github.com/haypo/python-ipy),辅助IP规划. 3.dnspython(http://dnspython.org)Python实现的一个DNS工具包. 4.difflib:difflib作为Python

Python运维开发基础01-语法基础【转】

开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶,Python网页编程,Python项目实战 Python开发基础分为语法基础篇,文件基础篇,函数基础篇,模块基础篇 语法基础篇中,我着重希望训练同学的是作为开发应该具备的一种逻辑思路. 文件基础篇中,我们需要练习的是如何将数据永久性的存储在硬盘上,提供读,写. 函数基础篇中,我重点是要引导同学们构

python运维开发笔记4

1.函数如何被调用,通过return返回值来调用 2.生成器和return区别 yield 生成器返回对象,可以迭代 可以执行 glob模块 类似shell中的正则匹配 shlex模块  Popen 将命令参数直接分词 cmd = "ps ax -o pid,ppid,cmd" shlex.split(cmd) ['ps','ax','-o','pid,ppid,cmd'] ['mysql','-u','root','-p123','-e','show processlist'] p

Python运维开发基础

Python基础知识分为以下几块 1.Python概述 2.基础语法 3.数据结构 4.Python进阶 5.实训案例 一.Python概述 1.Python简介 2.Hello World 3.搭建开发环境 4.习题 Python简介 尽管我是学计算机出身的,但是我对Python的认识是在毕业后.Python是我喜欢的语言,简洁,优美,容易使用.重要的一点是他是开源的项目. 官方网站 https://www.python.org 学习网站 http://www.okpython.com 对于简

Linux运维常用命令

Linux运维常用的150个命令 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼mak

Python运维编程

Python运维编程 作者:Danbo  2015-10-11 什么是Python,为什么要使用Python? 这个大家自行谷歌,不过看看知乎你就知道Python有多么强大:http://www.zhihu.com/question/25038841  #大蟒蛇是人形自走跑有木有啊! 首先你要知道Python很强大.Python是一个胶水语言(Glue Language).与Perl最大的不同是Python开发的哲学是:用一种方法,最好是只有一种方法来做一件事,而Perl是:总是有多种方法来做同