Python获取系统信息的代码

发布时间:2020-02-17 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了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("%s\n" % 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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

总结

以上是脚本之家为你收集整理的Python获取系统信息的代码全部内容,希望文章能够帮你解决Python获取系统信息的代码所遇到的程序开发问题。

其他人正在看

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
标签: