运维常用的Python第三方模块及实例
在运维工作中,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}')
本文来自博客园,作者:dashery,转载请注明原文链接:https://www.cnblogs.com/ydswin/p/18071286
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略