首页 > 编程语言 >运维常用的Python第三方模块及实例

运维常用的Python第三方模块及实例

时间:2024-03-13 18:34:15浏览次数:42  
标签:运维 示例 Python psutil 实例 yaml print import data

在运维工作中,Python是一种非常流行的脚本语言,因为它具有简洁的语法、丰富的库和跨平台的能力。运维工程师经常使用Python来编写自动化脚本,以简化日常任务。以下是一些运维常用的Python第三方模块及其示例:

paramiko - 用于SSH连接和执行命令。

示例:

import paramiko  
  
ssh = paramiko.SSHClient()  
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
ssh.connect('hostname', username='username', password='password')  
  
stdin, stdout, stderr = ssh.exec_command('ls -l')  
output = stdout.read().decode()  
print(output)  
  
ssh.close()

fabric - 基于paramiko的库,提供更高级的SSH命令执行和部署功能。

示例(需要fabric3,因为fabric2改变了API):

from fabric.api import env, run  
  
env.hosts = ['hostname']  
env.user = 'username'  
env.password = 'password'  
  
def list_files():  
    run('ls -l')

然后运行 fab list_files 来执行函数。

psutil - 获取系统和进程相关的信息。

示例:

import psutil  
  
# 获取CPU信息  
print('CPU percent:', psutil.cpu_percent())  
  
# 获取内存信息  
print('Memory info:', psutil.virtual_memory())  
  
# 获取磁盘使用情况  
print('Disk usage:', psutil.disk_usage('/'))  
  
# 获取进程信息  
for proc in psutil.process_iter(['pid', 'name']):  
    print(proc.info)

requests - 用于HTTP请求。

示例:

import requests  
  
response = requests.get('https://www.example.com')  
print(response.text)

jinja2 - 模板引擎,常用于生成配置文件。

示例:

from jinja2 import Template  
  
template = Template('Hello, {{ name }}!')  
result = template.render(name='World')  
print(result)  # 输出: Hello, World!

pyyaml - 用于解析和生成YAML格式的数据。

示例:

import yaml  
  
data = {  
    'name': 'John',  
    'age': 30,  
    'city': 'New York'  
}  
  
with open('data.yaml', 'w') as file:  
    documents = yaml.dump(data, file)  
  
with open('data.yaml', 'r') as file:  
    loaded_data = yaml.safe_load(file)  
    print(loaded_data)

configparser (内置模块) - 用于解析INI配置文件。

示例:

import configparser  
  
config = configparser.ConfigParser()  
config.read('example.ini')  
  
# 访问配置文件中的值  
section = 'database'  
host = config.get(section, 'host')  
port = config.getint(section, 'port')  
print(f'Host: {host}, Port: {port}')

标签:运维,示例,Python,psutil,实例,yaml,print,import,data
From: https://www.cnblogs.com/ydswin/p/18071286

相关文章

  • python内置函数 C
    python内置函数CPython解释器内置了很多函数和类型,任何时候都能使用。C名称描述callable检查一个对象是否是可调用的。chr将整数(表示Unicode码点)转换为对应的字符。classmethod将一个方法转变为类方法。compile将源代码字符串编译为字节码对象。complex创建复数。call......
  • python内置函数 A
    python内置函数APython解释器内置了很多函数和类型,任何时候都能使用。A名称描述abs返回一个数的绝对值。aiter返回对象的异步迭代器。all所有元素均为真值(或可迭代对象为空)则返回True。anext获取异步迭代器中的下一个异步项。any任一元素为真值则返回True。ascii返......
  • Python 内置模块及实例
    Python有许多内置模块,这些模块提供了各种功能,如数学运算、文件操作、日期和时间处理、数据压缩等。以下是一些常用内置模块及其简单实例:math-提供数学函数和常量。实例:importmathprint(math.sqrt(16))#输出:4.0print(math.pi)#输出:3.1415926535897......
  • L2-033 简单计算器(Python)
    作者 陈越单位 浙江大学本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1​ 存放数字,另一个堆栈 S2​ 存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:从 S1​ 中弹......
  • Python 函数的参数传递 *args和 **kwargs
    知识点:在函数调用时,*会以单个元素的形式解包一个元祖,使其成为独立的参数。在函数调用时,**会以键/值对的形式解包一个字典,使其成为独立的关键字参数。 deff(a,*args):print(args)f(1,2,3,4)​```输出为:(2,3,4)​```虽然传入1,2,3,4,但是解包为(1),(2,3,4),其中a是1......
  • 【分享】记一次项目迁移(docker java | docker python)
    项目:前端Vue3,后端Python+Java,数据库Redis+MySQL原先部署在centos7里面的,使用的宝塔面板部署的,还算方便。但是服务器要到期了,要将项目迁移到另外一台服务器。另外一台服务器是opencloudos+1plane本来想构建一个jdk1.8+python3.12+Nodejs环境的镜像奈何本人没学过docker,操作起......
  • python面试题
    1、字符串最后一个单词的长度importsysstr=input()    //输入字符串strarr=str.split("")//以空格分割字符串并将结果存入数组arrn=len(arr)-1  //获取数组最后一个元素的索引print(len(arr[n])) //打印最后一个元素arr[n]的长度即为最后一个......
  • 【Python使用】嘿马头条完整开发md笔记第1篇:课程简介,ToutiaoWeb虚拟机使用说明【附代
    嘿马头条项目从到完整开发笔记总结完整教程(附代码资料)主要内容讲述:课程简介,ToutiaoWeb虚拟机使用说明,Pycharm远程开发,产品与开发,数据库1产品介绍,2原型图与UI图,3技术架构,4开发。OSS对象存储,七牛云存储,CDN,缓存。缓存,缓存架构,缓存数据,缓存有效期与淘汰策略,缓存模式缓存数据的......
  • Python简介与环境搭建
    文章目录前言简介Python环境搭建手动添加系统环境变量PyCharm安装创建一个项目安装汉化插件前言  本专栏用来记录个人学习Python的过程,也希望大家可以通过该专栏轻松入手Python。废话不多说,就让我们开始吧。简介  Python由荷兰国家数学与计算机科学研究中心......
  • Python爬虫之urllib
    urllib1.1urllib基本使用#使用urllib来访问百度首页的源码importurllib.request#1.定义一个url,就是你要访问的地址url='http://www.baidu.com'#2.模拟浏览器向服务器发送请求response=urllib.request.urlopen(url)#3.获取响应中的页面的源码content=r......