仓酷云
标题:
带来一篇python获得linux的体系信息
[打印本页]
作者:
若相依
时间:
2015-1-14 21:04
标题:
带来一篇python获得linux的体系信息
小知识:CentOS已正式加入红帽公司。从事互联网技术的同学,CentOS应该是值得你深入了解学习研究的。
python写的抓取linux体系重要信息的剧本,重要就是内存,硬盘、CPU之类的信息。
内存信息/meminfo前往dict#!/usr/bin/envpythondefmemory_stat():mem={}f=open("/proc/meminfo")lines=f.readlines()f.close()forlineinlines:iflen(line)<2:continuename=line.split(:)[0]var=line.split(:)[1].split()[0]mem[name]=long(var)*1024.0mem[MemUsed]=mem[MemTotal]-mem[MemFree]-mem[Buffers]-mem[Cached]returnmemCPU信息/cpuinfo前往list,每焦点一dict#!/usr/bin/envpythondefcpu_stat():cpu=[]cpuinfo={}f=open("/proc/cpuinfo")lines=f.readlines()f.close()forlineinlines:ifline==n:cpu.append(cpuinfo)cpuinfo={}iflen(line)<2:continuename=line.split(:)[0].rstrip()var=line.split(:)[1]cpuinfo[name]=varreturncpu负载信息/loadavg前往dict#!/usr/bin/envpythondefload_stat():loadavg={}f=open("/proc/loadavg")con=f.read().split()f.close()loadavg[lavg_1]=con[0]loadavg[lavg_5]=con[1]loadavg[lavg_15]=con[2]loadavg[nr]=con[3]loadavg[last_pid]=con[4]returnloadavg运转时光/Uptime前往dict#!/usr/bin/envpythondefuptime_stat():uptime={}f=open("/proc/uptime")con=f.read().split()f.close()all_sec=float(con[0])MINUTE,HOUR,DAY=60,3600,86400uptime[day]=int(all_sec/DAY)uptime[hour]=int((all_sec%DAY)/HOUR)uptime[minute]=int((all_sec%HOUR)/MINUTE)uptime[second]=int(all_sec%MINUTE)uptime[Freerate]=float(con[1])/float(con[0])returnuptime获得网卡流量信息/proc/net/dev前往dict,单元byte#!/usr/bin/envpythondefnet_stat():net=[]f=open("/proc/net/dev")lines=f.readlines()f.close()forlineinlines[2:]:con=line.split()"""intf={}intf[interface]=con[0].lstrip(":")intf[ReceiveBytes]=int(con[1])intf[ReceivePackets]=int(con[2])intf[ReceiveErrs]=int(con[3])intf[ReceiveDrop]=int(con[4])intf[ReceiveFifo]=int(con[5])intf[ReceiveFrames]=int(con[6])intf[ReceiveCompressed]=int(con[7])intf[ReceiveMulticast]=int(con[8])intf[TransmitBytes]=int(con[9])intf[TransmitPackets]=int(con[10])intf[TransmitErrs]=int(con[11])intf[TransmitDrop]=int(con[12])intf[TransmitFifo]=int(con[13])intf[TransmitFrames]=int(con[14])intf[TransmitCompressed]=int(con[15])intf[TransmitMulticast]=int(con[16])"""intf=dict(zip((interface,ReceiveBytes,ReceivePackets,ReceiveErrs,ReceiveDrop,ReceiveFifo,ReceiveFrames,ReceiveCompressed,ReceiveMulticast,TransmitBytes,TransmitPackets,TransmitErrs,TransmitDrop,TransmitFifo,TransmitFrames,TransmitCompressed,TransmitMulticast),(con[0].rstrip(":"),int(con[1]),int(con[2]),int(con[3]),int(con[4]),int(con[5]),int(con[6]),int(con[7]),int(con[8]),int(con[9]),int(con[10]),int(con[11]),int(con[12]),int(con[13]),int(con[14]),int(con[15]),int(con[16]),)))net.append(intf)returnnet磁盘空间应用应用内置python内置函数,前往dict,单元byte#!/usr/bin/envpythondefdisk_stat():importoshd={}disk=os.statvfs("/")hd[available]=disk.f_bsize*disk.f_bavailhd[capacity]=disk.f_bsize*disk.f_blockshd[used]=disk.f_bsize*disk.f_bfreereturnhd
复制代码
小知识:CentOS完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。
作者:
若相依
时间:
2015-1-16 23:36
标题:
带来一篇python获得linux的体系信息
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
作者:
愤怒的大鸟
时间:
2015-1-20 11:26
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
作者:
乐观
时间:
2015-1-29 06:59
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
作者:
深爱那片海
时间:
2015-2-6 00:43
请问谁有Linux的学习心得的吗?简单的说说?
作者:
莫相离
时间:
2015-2-14 17:31
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
作者:
只想知道
时间:
2015-3-4 09:40
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
作者:
海妖
时间:
2015-3-11 18:14
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
作者:
再现理想
时间:
2015-3-19 08:03
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
作者:
蒙在股里
时间:
2015-3-27 17:08
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
欢迎光临 仓酷云 (http://www.ckuyun.com/)
Powered by Discuz! X3.2