Python获取系统信息的代码
发布时间:2020-05-25 00:25:53 所属栏目:Python 来源:互联网
导读:Python获取系统信息的代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 import os,inspect,socket,time,pymysql
num = 0
class Mysql:
def __init__(self,host,user,password,db):
self.cnn = pymysql.connect(host=host,user=user,passwd=password,db=db,charset='utf8')
self.cur= self.cnn.cursor()
def run(self,sql):
self.cur.execute(sql)
def cmd(self,sql):
self.cur.execute(sql)
return self.cur.fetchall()
def commit(self):
self.cnn.commit()
def close(self):
self.cur.close()
self.cnn.close()
class mon:
def __init__(self):
self.db_file='./db.json'
self.data={}
def getAmber(self):
global num
num+=1
return num
def getDate(self):
return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
def getProcess(self):
return os.popen('ps -ef |wc -l').readlines()[0].split()[0]
def getDisk(self):
return os.popen("df -m |grep '/$'").readlines()[0].split()
def getMem(self):
return os.popen('free -m').readlines()[1].split()[1:4]
def getSwap(self):
return os.popen('free -m').readlines()[3].split()[1:]
def getLoad(self):
return os.popen('uptime').readlines()[0].split()[-3:]
def getHost(self):
return socket.gethostname()
def getUser(self):
return os.popen('uptime').readlines()[0].split()[3]
def getRuntime(self):
return os.popen('uptime').readlines()[0].split()[2]
def getSystem(self):
return os.popen('cat /etc/redhat-release').readlines()[0].split('n')[0]
def getKerner(self):
return os.popen('uname -r').readlines()[0].split('n')[0]
def run(self):
for fun in inspect.getmembers(self,predicate=inspect.ismethod):
if fun[0][:3] == 'get':
#print fun[1]()
self.data[fun[0][3:]] = fun[1]()
#print self.data
return self.data
#file(self.db_file,'a').write("%sn" % self.data)
time.sleep(15)
if __name__ == "__main__":
mysql=Mysql('192.168.0.58','root','123456','host')
while 1:
res= mon().run()
memTotal=int(res['Mem'][0])
diskTotal=int(res['Disk'][0])
memFree=int(res['Mem'][2])
diskFree=int(res['Disk'][2])
cpuPercent=int(res['Process'])
ip=os.popen("ifconfig |grep 'Bcast' |awk -F: '{print $2}'").readlines()[0].split()[0]
print('-------------------',ip)
ress=mysql.cmd('select * from hostinfo where ip="%s"'%ip)
ress=list(ress[0])
for i in ress[3:]:
lists=eval(i)
print(lists)
lists['data'].pop(0)
lists['data'].append(eval(lists['name']))
sqls='update hostinfo set %s = "%s" where ip="%s"'%(str(lists['name']),lists,ip)
mysql.cmd(sqls)
mysql.commit()
print('------------------------------------------------')
time.sleep(30)
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
