python - 获取win系统参数,发送/保存配置
import wmi
import json c = wmi.WMI ()
msg = {} # 系统信息:系统版本,主机名,系统安装时间,系统位数,串口ID,总内存大小
system = ['Caption','CSName','InstallDate','OSArchitecture','SerialNumber','TotalVisibleMemorySize']
system_msg = []
for sys in c.Win32_OperatingSystem():
for i in system:
if i == 'InstallDate':
system_msg.append(getattr(sys,i).split('.')[0])
elif i == 'TotalVisibleMemorySize':
system_msg.append("%sGB"% round(int(getattr(sys, i))/(1024*1024)))
else:
system_msg.append(getattr(sys, i))
msg["sys_msg"] = dict(zip(system,system_msg)) # # CPU
cpu = ['Name']
cpu_msg = []
for i in c.Win32_Processor():
for i2 in cpu:
cpu_msg.append(getattr(i, i2))
msg['cpu']= dict(zip(cpu,cpu_msg)) # # 内存参数:
m0 = ['Capacity','Caption','Manufacturer','PartNumber','SerialNumber','Speed','Tag',]
m2 = {}
for i in enumerate(c.Win32_PhysicalMemory()):
m1 = []
for i2 in m0:
m1.append(getattr(i[1], i2))
m2["内存位置%s"%i[0]] = dict(zip(m0,m1))
msg.update(m2) # # {盘符num:{磁盘型号,接口类型,磁盘容量}}
disk = ['Caption','InterfaceType','Size']
disk_count = {}
for i in enumerate(c.Win32_DiskDrive()):
disk_msg = []
for i2 in disk:
if i2 == 'Size':
disk_msg.append("%s GB"% round(int(getattr(i[1],i2))/(1024*1024*1024)))
else:
disk_msg.append(getattr(i[1],i2))
disk_count["盘符%s"%i[0]] = dict(zip(disk,disk_msg))
msg.update(disk_count) # #网卡信息 : 网关,网卡卡槽,是否开启DHCP,DNS,IPadd,MASk,MAC
n = ['DefaultIPGateway','Description','DHCPEnabled','DNSServerSearchOrder','IPAddress','IPSubnet','MACAddress',]
n2 = {}
for i in enumerate(c.Win32_NetworkAdapterConfiguration(IPEnabled=1)):
n1 = []
for i2 in n:
n1.append(getattr(i[1],i2))
n2["网卡%s" % i[0]] = dict(zip(n,n1))
msg.update(n2) # # BIOS 信息: BIOS版本,BIOS厂商
bios = ['BIOSVersion','Manufacturer',]
b = wmi.WMI().Win32_BIOS()
b1 = []
for i in b:
for i2 in bios:
b1.append(getattr(i, i2))
msg['BIOS'] = dict(zip(bios,b1)) data = {"data":json.dumps(msg)}
import requests
url = 'http://172.16.1.2/index/'
response = requests.post(url,data=data)
python - 获取win系统参数,发送/保存配置的更多相关文章
- [Python]获取win平台文件的详细信息
import win32api def getFileProperties(fname): """ 读取给定文件的所有属性, 返回一个字典. ""&q ...
- 人脸检测及识别python实现系列(1)——配置、获取实时视频流
人脸检测及识别python实现系列(1)——配置.获取实时视频流 1. 前言 今天用多半天的时间把QQ空间里的几篇年前的旧文搬到了这里,算是完成了博客搬家.QQ空间里还剩下一些记录自己数学学习路线的学 ...
- 保存配置,获取配置,XML
private void SaveSOConfig() { //保存配置 Dictionary<string, string> PrintConfigDIC = new Dictionar ...
- Python 获取 exe 的 icon 并且保存
Python 获取 exe 的 icon 并且保存 参考链接:https://mail.python.org/pipermail/python-win32/2009-April/009078.html ...
- Python微服务实践-集成Consul配置中心
A litmus test for whether an app has all config correctly factored out of the code is whether the co ...
- STM32 使用 printf 发送数据配置方法 -- 串口 UART, JTAG SWO, JLINK RTT
STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) http://home.eeworld.com.cn/my/space-uid-338727-blogid-47 ...
- 使用shell/python获取hostname/fqdn释疑
一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...
- Python 获取 网卡 MAC 地址
/*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: ...
- 使用shell/python获取hostname/fqdn释疑(转)
一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...
随机推荐
- http uri唯一标识
URI:唯一标识并且信息资源(简单理解为:发邮件的地址,身份证号).uri包括url 比如通过查找一个uri,找到一张图片“https://timgsa.baidu.com/timg?image&am ...
- CentOS 7 输入中文 & 安装搜狗输入法
1.CentOS 7 输入中文 安装时,若选择了中文,CentOS 7 自带中文输入法:汉语(Intelligent Pinyin). 设置方法: 应用程序 → 系统工具 → 设置 → 区域和语言 → ...
- c#反射(1)
反射可以读取程序集中代码的内容,程序集一般指(dll或exe文件). 反射中Type类,这个类太强大了,可以获取到另一个类的名称,命名空间,程序集,以及这个类中的字段,属性,方法.可以方便我们查看某个 ...
- js解析base64
var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ...
- 1、CC2530单片机介绍
单片机是一种集成电路芯片,包含中央处理器CPU.随机存储器RAM.只读存储器ROM.输入输出I/O接口.中断控制系统.定时/计数器和通信等多种功能部件. 本教程使用的单片机德州仪器生产的CC2530, ...
- 高级组件——选项卡面板JTabbedPane
选项卡面板:JTabbedPane(标签位置,布局方式) 标签位置:JTabbedPane.TOP,JTabbedPane.BOTTOM,JTabbedPane.LEFT,JTabbedPane.RI ...
- WiFi热点(1):windows8建wifi虚拟热点
在windows8系统中,打开记事本,写入下面两行:@netsh wlan set hostednetwork mode=allow ssid=wuyazhe key=88888888@netsh w ...
- 原生js操作Dom命令总结
常用的dom方法 document.getElementById(“box”);//通过id获取标签 document.getElementsByTagName(“div”);根据标签名获取页面 ...
- java8的Streams
首先看一个问题:在这个task集合中一共有多少个OPEN状态的?计算出它们的points属性和.在Java 8之前,要解决这个问题,则需要使用foreach循环遍历task集合:但是在Java 8中可 ...
- 5句话搞定ES5作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...