首页 > 编程语言 >Python批量处理aida64extreme收集到的硬件信息

Python批量处理aida64extreme收集到的硬件信息

时间:2023-10-19 22:26:50浏览次数:35  
标签:批量 Python aida64extreme hardware txtUTF8 file print data 255

   

因需收集部分驻外同事电脑的硬件信息(未连公司内网,无法使用桌管软件统一采集),采用aida64extreme收集后再通过python处理写入数据库。

   

   

一.创建表 createtable.py

#!/usr/bin/python3

#coding:utf-8

import pymysql

db = pymysql.connect("192.168.xxxx.xxx", "root", "password",port=xxx,db="computers")

cursor = db.cursor()

#sql ='''drop table Diskreport'''

sql ='''create table computerreport(

ID INTEGER PRIMARY KEY  AUTO_INCREMENT,

Userid char(255),

Name char(255),

Computer char(255),

Displayer char(255),

Mainboard char(255),

CPU char(255),

Mem char(255),

Disk char(255),

VGA char(255),

OS char(255))'''

   

cursor.execute(sql)    

print("CREATE TABLE OK")

   

二.数据清洗,写入数据库

#!/usr/bin/python3

#coding:utf-8

import os

import os.path

import subprocess

import pymysql

 

收集到的信息保存为txt文件,并命名为"工号—姓名.txt"

items = os.listdir("/data/hardware/txt/")

copylists = []

for names in items:

  if names.endswith(".txt" ):

    copylists.append(names)

print(copylists)

print("文件总数:"+str(len(copylists)))

 

 

def load_data():

  try:

    db = pymysql.connect("192.168.xxxx.xxx", "root", "password",port=xxx,db="computers")

    cur=db.cursor()

     

    for file in copylists:

      useridname=os.path.splitext(os.path.basename(file))[0].split("-",-1)     

           #windows下运行aida64生成的txt文件在linux下乱码的处理 

      os.system("cat /data/hardware/txt/%s | iconv -f GBK -t UTF-8 -c >/data/hardware/txtUTF8/%s" %(file,file) )

       

      Userid = useridname[0]

      Name =  useridname[1]

      #python打印txt文件时,会带有b' \r\n'  如何把b' rn'去掉呢?只要在后面加上.decode().strip()即可

      Computer = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '计算机名称' |head -1|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      Displayer= subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '最大可用屏幕'|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      Mainboard= subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '主板芯片组'|tail -1|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      CPU = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '处理器名称'|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      Mem = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '总数'|head -1|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      Disk = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '硬盘驱动器'|egrep -v 'USB'|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      VGA = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '显示适配器'|head -1|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

      OS = subprocess.check_output("cat /data/hardware/txtUTF8/%s  |grep '操作系统名称'|awk '{$1=\"\";print }'" %file, shell=True).decode().strip()

       

      sql="""insert into computers.computerreport(Userid,Name,Computer,Displayer,Mainboard,CPU,Mem,Disk,VGA,OS) values('{}','{}','{}','{}','{}','{}','{}','{}','{}','{}')""".format(Userid,Name,Computer,Displayer,Mainboard,CPU,Mem,Disk,VGA,OS)

      cur.execute(sql)

    cur.close()

    db.commit()

    db.close()

  except Exception as e :print(e)

load_data()

   

   

windows下运行aida64生成的txt文件在linux下乱码的处理

      os.system("cat /data/hardware/txt/%s | iconv -f GBK -t UTF-8 -c >/data/hardware/txtUTF8/%s" %(file,file) )

   

  

   

结果截图  

 

 

   

   

标签:批量,Python,aida64extreme,hardware,txtUTF8,file,print,data,255
From: https://www.cnblogs.com/st2021/p/17775752.html

相关文章

  • 【Python】解决pip安装时dependency conflict
    用pipinstallxxx安装库时有时候会遇到下面提示:Tofixthisyoucouldtryto:1.loosentherangeofpackageversionsyou'vespecified2.removepackageversionstoallowpipattempttosolvethedependencyconflict可以用下面命令安装试试:python3-mpipinst......
  • 21.1 Python 使用PEfile分析PE文件
    PeFile模块是Python中一个强大的便携式第三方PE格式分析工具,用于解析和处理Windows可执行文件。该模块提供了一系列的API接口,使得用户可以通过Python脚本来读取和分析PE文件的结构,包括文件头、节表、导入表、导出表、资源表、重定位表等等。此外,PEfile模块还可以帮助用户进行一些恶......
  • 21.1 Python 使用PEfile分析PE文件
    PeFile模块是Python中一个强大的便携式第三方PE格式分析工具,用于解析和处理Windows可执行文件。该模块提供了一系列的API接口,使得用户可以通过Python脚本来读取和分析PE文件的结构,包括文件头、节表、导入表、导出表、资源表、重定位表等等。此外,PEfile模块还可以帮助用户进行一些......
  • 力扣每日一题+python知识点回顾(二)
    力扣题目:同积元组(题号:1726)给你一个由不同正整数组成的数组nums,请你返回满足a*b=c*d的元组(a,b,c,d)的数量。其中a、b、c和d都是nums中的元素,且a!=b!=c!=d。示例1:输入:nums=[2,3,4,6]输出:8解释:存在8个满足题意的元组:(2,6,3,4),(2,6,4,3),(6,2,3,4),......
  • python学习笔记-异步非阻塞web框架
    一、异步非阻塞框架介绍1、介绍支持异步非阻塞web框架:tornado,nodejs2、定义对比异步IO模块:我们作为客户端向服务端“并发”请求异步非阻塞web框架:针对服务端,希望一个线程处理更多的请求二、tornado异步非阻塞【要点提炼】使用装饰器@gen.coroutine模拟等待,使用特殊的......
  • 基于Python的《计算机组成原理》在线学习平台-计算机毕业设计源码+LW文档
    摘 要随着互联网的发展,通过计算机来学习是当前非常流行的一种学习方式。通过课程虽然可以面对面的进行交流和学习,但是很多时候因为地区和空间的限制会受到很多的影响但是通过网络来进行学习可以打破这一局限性,为此我开发了本基于Python的《计算机组成原理》在线学习平台网站本......
  • 基于Python的招聘网站爬虫及可视化的实现-计算机毕业设计源码+LW文档
    一、内容框架(一)主要内容论文按照项目的研究内容及技术路线,分为六章进行论述:第一章为概述,介绍了数据可视化和招聘网站的研究背景以及研究意义,分析了数据可视化和招聘技术的发展,对论文的研究内容做出阐述,最后简述了本文的章节安排。第二章为招聘数据可视化以及相关职位推荐系统使......
  • 基于python的旅游网站-计算机毕业设计源码+LW文档
    摘 要 随着时代的发展,人们对旅游也越来越重视,近些年来我国的旅游产业也发生了翻天覆地的变化,但是很多人在出去旅游的时候不知道去哪里旅游,在预订酒店和机票的时候也没有一个综合性的旅游网站,为了让人们的旅游变的更加的方便,为此我开发了本基于python的旅游网站本基于python的......
  • python调用企业微信发送消息
    #-*-coding:utf-8-*-importosfromrequestsimportrequestfromloguruimportloggerimportbase64importhashlibimportreclassWechatBot:"""企业微信机器人当前自定义机器人支持文本(text)、markdown(markdown)、图片(image)、图文(news),文件(file)五种消息类型。......
  • 在Python中range()的用法:
    在Python中,range()是一个内置函数,用于生成一个整数序列,通常用于循环遍历。以下是range()函数的一些常见用法:1.默认情况当你调用range()函数时,它会生成一个从0开始到给定数字(不包括该数字)的整数序列。foriinrange(5):print(i)#输出:0,1,2,3,42.指定开始和结......