Cool_Breeze 发表于 2020-6-4 16:27:36

通过dxdiag工具获取系统信息

#coding:utf-8

import os
from time import sleep
import multiprocessing as multi
from xml.etree.ElementTree import ElementTree as et

class thr_dxdi(multi.Process):
    def __init__(self,filename):
      multi.Process.__init__(self)
      self.fn = filename
      
    def run(self):
      self.s = self.fn.get()
      if self.s:
            err = os.system('dxdiag /x ' + self.s)
            if err != 0:
                print('run dxdiag fail!')
                input('')
                exit()
      self.fn.task_done()
   
os.chdir(r'D:\GIN\py\xml')
cf = 'config.xml'

if __name__ == '__main__':
    os.system('chcp 936 >nul') #设置cmd页面代码
    if os.path.exists(cf):
      os.remove(cf)
    q = multi.JoinableQueue() #队列
    th = thr_dxdi(q)
    th.start()
    q.put(cf) #发送一个元素
    # q.join() #等待队列完成
   
    count = 0
    while True:
      if not os.path.exists(cf):
            count += 1
            print('请稍等,系统正在生成配置信息...', count, '秒')
            sleep(1)
            os.system('cls')
            continue
      break
   
    syslist = ['SystemInformation',# 系统相关
                'DisplayDevices/DisplayDevice', #显示相关
                'LogicalDisks/LogicalDisk'] #硬盘
    cfx = et(file = cf) #打开文件
    for item in syslist:
      for i in cfx.findall(item): #搜索信息,返回列表或者迭代器
            for n in range(len(i)): #遍历列表
                print('{:26}:{}'.format(i.tag,i.text))
页: [1]
查看完整版本: 通过dxdiag工具获取系统信息