返回列表 发帖

Windows使用第三方库psutil

实验中,操作系统的版本 Windows2008R2 ,安装Python3可参考:Win7/Windows2008R2安装Python3

服务器连接公网安装第三方库(psutil):(可以指定软件的版本)
C:\Users\Administrator>pip3 install psutil==5.7.3 -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com
图片1.png

备注:32位系统会自动安装32位的软件包;64位系统会自动安装64位的软件包。

由此还可以得获得软件包的下载地址:(需要另外手动下载软件包)
Downloading http://mirrors.aliyun.com/pypi/packages/9a/c3/3b0023b46fc038eff02fbb69a0e6e50d15a7dce25e717d8469e8eaa837a7/psutil-5.7.3-cp36-cp36m-win_amd64.whl (243kB)

注释:这是64位软件包。



######

列出当前环境所有已经安装的第三方库的名称和其版本号:
pip3 freeze
图片2.png


保存当前环境所有已经安装的第三方库的名称和其版本号信息:
pip3 freeze > d:\1.txt

输出文件内容:
type d:\1.txt
图片3.png



######

Windows下卸载安装好的第三方库(psutil):
pip3 uninstall psutil -y
图片4.png



######

Windows下离线安装第三方库(psutil):(需要先手动下载软件包到服务器)
d:
pip3 install psutil-5.7.3-cp36-cp36m-win_amd64.whl
图片5.png





######

查看本机的CPU使用率、内存使用率、分区使用率等等的脚本:

#coding=utf-8
import psutil

CPU_use_percent = psutil.cpu_percent(interval=2)
print(CPU_use_percent)
print(type(CPU_use_percent))
print(f"CPU使用率: {CPU_use_percent}%")

print("-" * 10)
Mem_total = psutil.virtual_memory().total
Mem_total = round(Mem_total / 1024 / 1024,2)
print(f"内存总量: {Mem_total}MB")

Mem_free = psutil.virtual_memory().free
Mem_free = round(Mem_free / 1024 / 1024,2)
print(f"空闲内存量: {Mem_free}MB")

Mem_used = psutil.virtual_memory().used
Mem_used = round(Mem_used / 1024 / 1024,2)
print(f"已使用内存量: {Mem_used}MB")

print("-" * 10)
Mem_use_percent = psutil.virtual_memory().percent
print(Mem_use_percent)
print(f"内存使用率: {Mem_use_percent}%")


print("-" * 10)
print("-" * 10)
C_total = psutil.disk_usage("c:/")[0]
C_total = round(C_total / 1024 / 1024 /1024,2)
print(f"C盘总大小: {C_total}GB")
       
C_free = psutil.disk_usage("c:/")[2]
C_free = round(C_free / 1024 / 1024 / 1024,2)
print(f"C盘空闲量: {C_free}GB")

C_used = psutil.disk_usage("c:/")[1]
C_used = round(C_used / 1024 / 1024 / 1024,2)
print(f"C盘已使用量: {C_used}GB")


print("-" * 10)
C_use_percent = psutil.disk_usage("c:/")[3]
print(f"C盘使用率: {C_use_percent}%")

D_use_percent = psutil.disk_usage("d:/")[3]
print(f"D盘使用率: {D_use_percent}%")


运行脚本的结果:
图片6.png





######

查看当前已登录操作系统的用户信息的脚本:

#coding=utf-8
import psutil

def func_user():
       
        print(psutil.users())

        print("-" * 10)
        users_list = ",".join([ u.name for u in psutil.users()])
        print(f"当前已登录的用户分别是:{users_list}")
       
        print("-" * 10)
        users_count = len(psutil.users()) #当前已登录的用户数量
        print(f"当前已登录的用户有{users_count}个。")
       
        return users_count
       
if __name__ == '__main__':

        user_counts = func_user()
        print(user_counts)
        print(type(user_counts))
       

运行脚本的结果:
图片7.png





######

查看当前网卡发送、接收的总流量的脚本:

#coding=utf-8
import psutil

def func_net_sent(): # 网卡发送总流量

        global net
        net = psutil.net_io_counters()
        print(net)
       
        print("-" * 10)
        print(net.bytes_sent)
        bytes_sent = round(net.bytes_sent / 1024,2)
        print(f"网卡发送字节数: {bytes_sent} Kb/s")
       
        return bytes_sent
       

def func_net_receive(): # 网卡接收总流量
       
        print("-" * 10)
        print(net.bytes_recv)
        bytes_receive = round(net.bytes_recv / 1024,2)  
       
        print(f"网卡接收字节数: {bytes_receive} Kb/s")
       
        return bytes_receive

       
if __name__ == '__main__':

        net_sent = func_net_sent()
        print(net_sent)
        print(type(net_sent))
       
        net_receive = func_net_receive()
        print(net_receive)
        print(type(net_receive))


运行脚本的结果:
图片8.png





######

查看操作系统开机时长的脚本:

#coding=utf-8

import psutil
from datetime import datetime

class class1():

        def func1(self):

                boot_time = psutil.boot_time()
                boot_time_obj = datetime.fromtimestamp(boot_time)
                print(boot_time_obj)

                now_time = datetime.now()
                print(now_time)
       
                delta_time = now_time - boot_time_obj
                print(delta_time)
       
                print("-" * 10)
       
                Boot = str(boot_time_obj).split('.')[0]
                Now = str(now_time).split('.')[0]
                self.Delta = str(delta_time).split('.')[0]

                print("开机时间: ", Boot)
                print("当前时间: ", Now)
                print("开机时长: ", self.Delta)
       
                print("-" * 10)
       
                String_1 = str(delta_time).split(':')[0]
                self.String_2 = int(String_1) #字符串转整数
               
                if self.String_2 >= 1:
                        self.func2()
                else:
                        self.func3()
       
       
        def func2(self):
                print(self.String_2)
                print(f"开机时长为 {self.Delta} ,等于或超过一小时")
               
        def func3(self):
                print(self.String_2)
                print(f"开机时长为 {self.Delta} ,小于一小时")

               
if __name__ == '__main__':
       
        myclass = class1()
        myclass.func1()



运行脚本的结果:(开机时长小于一小时的时候)
C:\Users\Administrator\Desktop>python xx.py
2019-03-11 00:53:12.070500
2019-03-11 01:13:07.070499
0:19:54.999999
----------
开机时间:  2019-03-11 00:53:12
当前时间:  2019-03-11 01:13:07
开机时长:  0:19:54
----------
0
开机时长为 0:19:54 ,小于一小时

C:\Users\Administrator\Desktop>



运行脚本的结果:(开机时长等于或超过一小时的时候)
C:\Users\Administrator\Desktop>python xx.py
2019-03-11 00:53:11.509184
2019-03-11 01:53:46.509184
1:00:35
----------
开机时间:  2019-03-11 00:53:11
当前时间:  2019-03-11 01:53:46
开机时长:  1:00:35
----------
1
开机时长为 1:00:35 ,等于或超过一小时

C:\Users\Administrator\Desktop>





相关文章:
Python3使用Virtual Environment

join()函数
split()函数
自定义类

Linux使用第三方库psutil

返回列表