python中psutil库用法详解

psutil库主要用于系统监控、分析和限制流程资源以及管理正在运行的流程。

官方文档:psutil documentation — psutil 5.9.2 documentation

 安装:

pip install psutil

1.获取CPU信息

import psutil

# 获取CPU的完整信息
aa = psutil.cpu_times()
print(aa)

# 获取CPU的逻辑个数
bb = psutil.cpu_count()
print(bb)

# 获取CPU的物理个数
cc = psutil.cpu_count(logical=False)
print(cc)

# psutil获取系统CPU使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu
# interval指定的是计算cpu使用率的时间间隔,percpu则指定是选择总的使用率还是每个cpu的使用率
for _ in range(5):
    dd = psutil.cpu_percent(interval=1)
    print(dd)
    ee = psutil.cpu_percent(interval=1, percpu=True)
    print(ee)

运行结果:

2.获取内存信息

import psutil

# 获取系统内存的使用情况
aa = psutil.virtual_memory()
print(aa)

# 获取系统交换内存的统计信息
bb = psutil.swap_memory()
print(bb)

运行结果:

3.获取磁盘信息

import psutil

# 获取磁盘分区的信息
aa = psutil.disk_partitions()
print(aa)

# 获取磁盘的使用情况
bb = psutil.disk_usage('/')
print(bb)

# 获取磁盘的IO统计信息(读写速度等)
cc = psutil.disk_io_counters()
print(cc)

运行结果:

4.获取网络信息

import psutil

# 获取总的网络IO信息
aa = psutil.net_io_counters()
print(aa)

# 获取网卡的IO信息
bb = psutil.net_io_counters(pernic=True)
print(bb)

# 获取网络接口信息
cc = psutil.net_if_addrs()
print(cc)

# 获取网络接口状态信息
dd = psutil.net_if_stats()
print(dd)

运行结果:

        略

5.获取其它系统信息

import psutil

# 获取系统的开机时间,并转化为自然的格式
aa = psutil.boot_time()
print(aa)

# 获取连接系统的用户列表
bb = psutil.users()
print(bb)

# 获取系统全部的进程信息
cc = psutil.pids()
print(cc)

# 获取单个进程的信息, 获取指定进程ID=4356
dd = psutil.Process(4356)
print(dd)

运行结果:

6.模拟出ps命令的效果

import psutil

aa = psutil.test()
print(aa)

运行结果:

7.以json的形式返回进程的pid和名称

import psutil

for proc in psutil.process_iter(['pid', 'name']):
    print(proc.info)

运行结果:

更多功能详见官方文档:psutil documentation — psutil 5.9.2 documentation

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
collections是Python内置的一个模块,它提供了一些有用的类,用于处理Python的集合类型。这些类包括:Counter、defaultdict、deque、namedtuple等。 1. Counter类 Counter类是一个用于计数的容器,它可以统计元素出现的次数。可以使用它来创建一个字典,其字典的键是元素,值是元素的数量。Counter类的用法如下: ```python from collections import Counter # 创建一个Counter对象 c = Counter(['a', 'b', 'c', 'a', 'b', 'a']) # 统计元素出现的次数 print(c) # Counter({'a': 3, 'b': 2, 'c': 1}) # 统计前n个出现次数最多的元素 print(c.most_common(2)) # [('a', 3), ('b', 2)] ``` 2. defaultdict类 defaultdict类是一个字典类型,它可以自动为不存在的键分配一个默认值。当使用一个不存在的键时,它会自动创建一个默认值,并返回它。defaultdict类的用法如下: ```python from collections import defaultdict # 创建一个defaultdict对象 d = defaultdict(int) # 添加键值对 d['a'] = 1 d['b'] = 2 # 访问不存在的键 print(d['c']) # 0 ``` 3. deque类 deque类是一个双向队列,它可以在队列的两端进行插入和删除操作。deque类的用法如下: ```python from collections import deque # 创建一个deque对象 d = deque() # 在队列的左边插入元素 d.appendleft(1) d.appendleft(2) # 在队列的右边插入元素 d.append(3) d.append(4) # 访问队列的元素 print(d) # deque([2, 1, 3, 4]) # 从队列的左边删除元素 print(d.popleft()) # 2 # 从队列的右边删除元素 print(d.pop()) # 4 ``` 4. namedtuple类 namedtuple类是一个工厂函数,它可以用来创建一个具有字段名的元组。该类返回的是一个元组子类,它可以像普通元组一样访问元素,但也可以使用字段名来访问元素。namedtuple类的用法如下: ```python from collections import namedtuple # 定义一个namedtuple类型 Point = namedtuple('Point', ['x', 'y']) # 创建一个Point对象 p = Point(1, 2) # 访问元素 print(p.x) # 1 print(p.y) # 2 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值