psutil模块简介:
psutil(Python system and process utilities)是一个跨平台的进程管理和系统工具的python库,可以处理系统CPU,memory,disks,network等信息。主要用于系统资源的监控,分析,以及对进程进行一定的管理。通过psutil可以实现如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。
安装psutil模块
pip install psutil
使用psutil获取磁盘信息
import psutil
seiz = psutil.disk_usage("/")
print(seiz)
sdiskusage(total=10434662400, used=2109755392, free=7771258880, percent=21.4)
执行结果:
sdiskusage(total=10434662400, used=2109755392, free=7771258880, percent=21.4)
total是磁盘的总量 used使用用了多少磁盘空间 free 剩余多少磁盘空间 percent 磁盘使用量
代码
#!/usr/bin/env python3
#-*-coding:utf-8-*-
'''
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
File Name: size.py
Description : 监控磁盘使用量并发送邮件
Author : angell
date: 2018/3/26
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Change Activity:
2018/3/26:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'''
__author__ = 'xiaobing'
def mail(seiz):
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
host_server = 'smtp.qq.com' # qq邮箱smtp服务器
# sender_qq为发件人的qq号码
sender_qq = '*******@qq.com'
# pwd为qq邮箱的授权码
pwd = '*******' ## xh**********bdc
# 发件人的邮箱
sender_qq_mail = '****@qq.com'
# 收件人邮箱
receiver = '*****@163.com'
# 邮件的正文内容
mail_content = '磁盘使用量已经超过%%80,已使用%s%%,请及时清理'%seiz
# 邮件标题
mail_title = '磁盘使用量已经超过%%80,已使用%s%%,请及时清理'%seiz
# ssl登录
smtp = SMTP_SSL(host_server)
# set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
smtp.set_debuglevel(0)
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_qq_mail
msg["To"] = receiver
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
def seiz_get():
import psutil
seiz = psutil.disk_usage("/").percent #获取磁盘使用率
if seiz > 80:
mail(seiz)
if __name__ == '__main__':
seiz_get()