linux下通过Python代码实现获取硬件接口信息
linux下通过Python代码实现获取硬件接口信息
linux下通过Python代码实现获取硬件接口信息
1.CPU架构
Python中,platform模块给提供了很多方法去获取操作系统的信息。
touch cpu.py
vi cpu.py #编辑内容
代码如下:
import platform print(platform.platform()); #获取操作系统名称及版本号
print(platform.version()); #获取操作系统版本号
print(platform.architecture()); #获取操作系统的位数,('64bit', 'ELF')
print(platform.machine()); #计算机类型,'aarch64'
print(platform.node()); #计算机的网络名称
print(platform.processor()); #计算机处理器信息,'aarch64'
print(platform.uname()); #包含上面所有的信息汇总
最后python cpu.py运行脚本得出结果
后面通过重复相同操作即可获得结果
2.CPU 核数
Python版本大于2.6,可以简单的通过下面模块来获取当前cpu数量, cpu_count的返回值
就是cpu数量:
import multiprocessing
multiprocessing.cpu_count()
3.内存信息
读取内存信息可以直接读系统文件/proc/meminfo。
代码示例:
def get_mem_info():
mem_info = ""
f_mem_info = open("/proc/meminfo")
try:
for line in f_mem_info:
if (line.find("SwapTotal") == 0):
mem_info += line.strip()+ ", "
elif (line.find("SwapTotal")== 0):
mem_info += line.strip()
break
print("mem_info---- {:s}".format(mem_info))
finally:
f_mem_info.close()
get_mem_info()
4.磁盘信息
磁盘信息可以通过shell命令df -h查询。
代码示例:
def get_disc_info():
#disc_info = os.popen("df -h").read()
#disc_info = subprocess.Popen("df -h", shell=True).communicate()[0]
#print(disc_info)
pipe = subprocess.Popen("df -h", stdout=subprocess.PIPE, shell=True)
disc_info = pipe.stdout.read()
print(disc_info)
get_disc_info()
5.网络信息
使用netifaces模块可以获取本机IP、网关等信息。 代码示例:
def GetNetworkIP():
#获取本地网卡IP地址
import netifaces
#routingGateway = netifaces.gateways()['default'][netifaces.AF_INET][0] #网关
routingNicName = netifaces.gateways()['default'][netifaces.AF_INET][1] #网络适配器信息
for interface in netifaces.interfaces():
if interface == routingNicName:
#print (netifaces.ifaddresses(interface))
try:
routingIPAddr = netifaces.ifaddresses(interface)[netifaces.AF_INET][0]['addr']
except KeyError:
pass
#print ("Routing IP Address:%s"% routingIPAddr)
return routingIPAddr
if __name__ == "__main__":
try:
print ("Routing IP Address:",GetNetworkIP())
except:
print ("Unable to get the address, there may not be installed netifaces module! command:
pip install netifaces")
GetNetworkIP()
如果存在报错说某个包不存在则通过 pip install ....获取
更多推荐
所有评论(0)