python3 输出系统信息
一、安装psutil库
pip3 install psutil
二、代码
#!/usr/bin/python3 coding=utf-8
import psutil
import uuid
import socket
import os #系统与磁盘挂载
print('##########系统与磁盘信息#########') def get_mac_address():
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
return ":".join([mac[e:e+2] for e in range(0,11,2)]) def get_host_ip():
try:
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.connect(('8.8.8.8',80))
ip=s.getsockname()[0]
finally:
s.close()
return ip def get_load():
f = open("/proc/loadavg")
loadstate=f.read().split()
return loadstate
load_list = get_load()[0:3]
system_load = ''
for i in load_list:
if system_load:
system_load = system_load+','+i
else:
system_load = i myname = socket.getfqdn(socket.gethostname())
print('主机名称:',myname)
print('本机ip地址:',get_host_ip())
print('本机MAC地址:',get_mac_address())
print('系统负载(1,5,15分钟):',system_load)
print('系统进程数:',len(psutil.pids())) devs = psutil.disk_partitions()
for dev in devs:
statvfs = os.statvfs(dev.mountpoint)
devs = psutil.disk_partitions()
for dev in devs:
statvfs = os.statvfs(dev.mountpoint)
total_disk_space = statvfs.f_frsize * statvfs.f_blocks
free_disk_space = statvfs.f_frsize * statvfs.f_bfree
disk_usage = int((total_disk_space - free_disk_space) * 100.0 / total_disk_space)
print('挂在设备:%s,挂载点:%s 磁盘使用率:%d%% 文件系统:%s' % (dev.device,dev.mountpoint,disk_usage,dev.fstype)) #系统负载
def get_load():
f = open("/proc/loadavg")
loadstate=f.read().split()
return loadstate
load_list = get_load()[0:3]
system_load = ''
for i in load_list:
if system_load:
system_load = system_load+','+i
else:
system_load = i print('系统负载(1,5,15分钟):',system_load) #cpu
cts = psutil.cpu_times()
cputime = 0
for item in cts:
if item != 0:
cputime = cputime + item
print('########CPU信息#########')
print('用户时间:%d%%' % (cts.user/cputime * 100))
print('内核时间:%d%%' % (cts.system/cputime * 100))
print('空闲时间:%d%%' % (cts.idle/cputime * 100))
print('逻辑CPU个数:',psutil.cpu_count())
print('物理cpu数量:',psutil.cpu_count(logical=False)) #内存
print('#########内存信息############')
mem = psutil.virtual_memory()
print('内存大小: %dM'%(int(mem.total/1024/1024)))
print('已使用内存: %dM'%(int(mem.used/1000/1000)))
print('剩余内存:%dM'%(int(mem.free/1024/1024)))
print('内存使用率: %d%%'%(int(mem.percent)))
三、运行结果
[root@localhost~]#python3 system_info.py
##########系统与磁盘信息#########
主机名称: localhost.localdomain
本机ip地址: 10.0.0.141
本机MAC地址: :0c::ca:bf:b2
系统负载(,,15分钟): 0.00,0.01,0.05
系统进程数:
挂在设备:/dev/sda2,挂载点:/ 磁盘使用率:% 文件系统:xfs
挂在设备:/dev/sda1,挂载点:/boot 磁盘使用率:% 文件系统:xfs
系统负载(,,15分钟): 0.00,0.01,0.05
########CPU信息#########
用户时间:%
内核时间:%
空闲时间:%
逻辑CPU个数:
物理cpu数量:
#########内存信息############
内存大小: 976M
已使用内存: 431M
剩余内存:201M
内存使用率: %
python3 输出系统信息的更多相关文章
- python3输出中文报错的原因,及解决办法(基于pycharm)
通常python3里面如果有中文,在不连接其他设备和程序的情况下,报错信息大致如下: SyntaxError: Non-UTF-8 code starting with '\xd6' in file ...
- python3输出指定log信息
问题背景: win10 python xxx.py > c:test.txt 上面这句只能把信息输出到test.txt,但是控制台看不到信息 ########################## ...
- python3输出range序列
b=range(3) #输出的是[0, 1, 2] ,其实这里如果用在循环上,代表着循环多少次,这里是循环3次.从零开始.print(list(b))
- uname - 显示输出系统信息
总览 uname [OPTION]... 描述 显示相应的系统信息. 没有指定选项时,同 -s. -a, --all 显示所有的信息 -m, --machine 显示机器(硬件)类型 -n, --no ...
- python3 输出字符
import string'''whitespace -- a string containing all ASCII whitespaceascii_lowercase -- a string co ...
- Python3输出九九乘法表
for i in range(1,10): for j in range(1,i+1): print('{}x{}={}\t'.format(i, j, i*j), end='') #format格式 ...
- python3输出“水仙花数”
for num in range(100,1000): #如果num在[100,1000)范围,就依次循环取出num的值,第一次取100,下一次取101....最后一次取999 bai = num / ...
- python3 输出中文、日文等等乱码问题的解决办法
例如: url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089' resp = requests.get(url=u ...
- python3输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数
for i in range(1,5): for j in range(1,5): for k in range(1,5): if(i!=j and i!=k and j!=k): print(i*1 ...
随机推荐
- 洛谷P1274-魔术数字游戏
Problem 洛谷P1274-魔术数字游戏 Accept: 118 Submit: 243Time Limit: 1000 mSec Memory Limit : 128MB Probl ...
- CSAPP:第三章程序的机器级表示3
程序的机器级表示3 关键点:过程.调试.指针 过程1.运行时栈2.转移控制3.数据传递4.栈上的局部存储5.寄存器中的局部存储空间理解指针使用GDB调试器 过程 1.运行时栈 x86-64的栈向低 ...
- Python:Day48 Jquery
引用方式: <script src="jquery-3.3.1.js"></script> jQuery就是一个jQuery对象,可以简写成$ 基本语法:$ ...
- Linux systemctl命令笔记
指令格式 systemctl [command] [unit] 常用指令 1.启动 $ systemctl start 2.停止 $ systemctl stop 3.重启 $ systemctl r ...
- memcache讲解和在.net中初使用
memcache讲解和在.net中初使用 2017年10月17日 22:51:36 等待临界 阅读数:503 前言 传统数据库面临的问题 数据库死锁 磁盘IO 正文 了解memcache 原理 基 ...
- docker 13 dockerfile的保留字指令
Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 构建三步骤:1.编写dockerfile文件:2.docker build:3.docker run doc ...
- 初学Python——集合及其运算
一.集合定义及其功能 集合是一个无序的.不重复的数据组合,和字典列表一样也是一种数据类型. 集合两个最主要的功能:①去重(把一个列表变成集合,就自动去重了) ②关系测试(测试两组数据之间的交.并.差集 ...
- 操作循环的关键字switch,break,return的应用及区别
break 使用break结束循环 break可以终止循环 和 switch语句的运行; break用于结束一个循环,即跳出循环体,执行循环体之后的代码: switch 使用continue提前结束 ...
- /dev/mem可没那么简单
这几天研究了下/dev/mem.发现功能非常奇妙,通过mmap能够将物理地址映射到用户空间的虚拟地址上.在用户空间完毕对设备寄存器的操作,于是上网搜了一些/dev/mem的资料. 网上的说法也非常统一 ...
- A2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)
这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方便: <script src="A2D.js" type=&qu ...