手机能建设网站,杭州集团公司网站制作,新图闻的合作伙伴,wordpress下载及安装教程引言
今天给大家分享一篇有关Python和Windows系统的文章。你有没有想过如何获取Windows系统的硬件信息#xff1f;或者你是否曾经尝试过将Python脚本编译打包成可执行文件#xff1f;如果你对这些问题感兴趣#xff0c;那么这篇文章一定适合你。
背景
由于公司现阶段大多…引言
今天给大家分享一篇有关Python和Windows系统的文章。你有没有想过如何获取Windows系统的硬件信息或者你是否曾经尝试过将Python脚本编译打包成可执行文件如果你对这些问题感兴趣那么这篇文章一定适合你。
背景
由于公司现阶段大多数应用软件都是基于Windows系统开发和部署很多软件安装部署都是在windows server 2012、windows server 2008之类的服务器上部门同事每次测试一轮迭代或者系统测试后在写测试报告时都需要在报告中写上测试的服务器硬件配置如CPU、操作系统版本、内存、磁盘等需要去远程服务器然后在服务器上各种查看服务器配置比较浪费时间。
最近学习了Python相关的知识发现使用PYWIN32WMI模块可以获取windows系统基本信息并安装pyinstaller库可以将写好的python脚本打包编译成exe的可执行文件并将运行的结果写到生成的txt文本文件中方便查看然后就可以在任何一台windows系统的服务器上运行得到服务器配置。
基于以上实现方式果断开始安装配置所需要的模块和库至于安装过程百度上有很多人已经给了说明根据自己的Python版本对应安装即可。下面贴下可以参考的安装链接文档
PYWIN32WMI模块安装https://blog.csdn.net/franktan2010/article/details/46520563
pyinstaller模块安装https://blog.csdn.net/Jarvis_F/article/details/80367865 或者 https://blog.csdn.net/whl826661099/article/details/79624326
我现在使用的Python版本是Python3.6开发编辑工具是PyCharm整个安装完成后打开PyCharm进入Settings在工程目录下看到有如下package说明环境OK了如下图我的安装 需要的库安装配置好了后开始学习WMI模块提供的方法根据上面的需求我们的目的是获取操作系统的信息将获取的配置信息写到txt的文本文件中并使用pyinstaller打包编译成exe文件Python代码走起如下代码为实现过程 1 2 Code descriptionCreate timeDeveloper3 4 # -*- coding: utf-8 -*-5 import wmi6 import os7 8 print(###使用说明请打开计算机基础配置文件夹进入到dist目录下双击运行计算机基础配置信息.exe文件9 在命令行窗口输入保存的文件名运行完成后打开生成的txt文本即可查看获取到的计算机基础配置信息###)
10 while True:
11 fnameinput(enter filename)
12 if os.path.exists(fname):
13 print(Error:%s already exists %fname)
14 else:
15 break
16 # open函数在打开目录中进行检查如果有则打开否则新建
17 fobjopen(fname,a,encodingutf-8)
18
19 # 获取操作系统版本信息
20 def sys_version():
21 c wmi.WMI()
22 for sys in c.Win32_OperatingSystem():
23 print(操作系统版本:%s % sys.Caption)
24 fobj.write(操作系统版本: sys.Caption)
25 print(操作系统位数,sys.OSArchitecture)
26 fobj.write(\n 操作系统位数 sys.OSArchitecture)
27 # 获取机器IP和MAC地址以及网卡类型
28 def getIP():
29 c wmi.WMI()
30 for interface in c.Win32_NetworkAdapterConfiguration(IPEnabled1):
31 print(网口型号为,interface.Description)
32 fobj.write(\n 网口型号为 interface.Description)
33 for ip_address in interface.IPAddress:
34 print(ip_address)
35 fobj.write(\n IP地址和MAC地址 ip_address)
36 # 获取CPU和内存大小
37 def cpu_and_mem():
38 c wmi.WMI()
39 for cpu in c.Win32_Processor():
40 print(CPU: %s % cpu.Name.strip())
41 fobj.write(\n CPU: cpu.Name.strip())
42 for Memory in c.Win32_PhysicalMemory():
43 print(内存大小: %.fGB % ( (int(Memory.Capacity) / 1048576) /1024) )
44 fobj.write(\n 内存大小: %.fGB % ( (int(Memory.Capacity) / 1048576) /1024) )
45 # 获取磁盘分区和各分区大小
46 def disk():
47 c wmi.WMI()
48 # 获取硬盘分区
49 for physical_disk in c.Win32_DiskDrive():
50 for partition in physical_disk.associators(Win32_DiskDriveToDiskPartition):
51 for logical_disk in partition.associators(Win32_LogicalDiskToPartition):
52 print(physical_disk.Caption, partition.Caption, logical_disk.Caption)
53 fobj.write(\n 磁盘分区: physical_disk.Caption partition.Caption logical_disk.Caption)
54 # 获取各个磁盘分区大小
55 for disk in c.Win32_LogicalDisk(DriveType3):
56 # print(disk.Caption, %0.2f%% free % (100.0 * int(disk.FreeSpace) / int(disk.Size)))
57 print(disk.Caption,磁盘大小: %0.1fGB % ((int(disk.Size) / 1048576) / 1024))
58 fobj.write(\n disk.Caption 磁盘大小: %0.1fGB % ((int(disk.Size) / 1048576) / 1024))
59 def main():
60 sys_version()
61 getIP()
62 cpu_and_mem()
63 disk()
64 if __name__ __main__:
65 main()
66
67 fobj.close()
代码写好后将脚本文件放入下载后解压的pyinstaller路径下如下图 然后cmd打开黑色命令行cd 到上图的路径下然后输入命令python pyinstaller.py -F ***.py 其中***.py为已经放置好的py脚本回车等待运行编译打包看到successfully字样说明我们打包编译成功了如下图 然后在该路径下会生成一个以py文件名称同名的文件夹在该文件夹下的dist下面就有编译好的exe可执行程序啦 后续可以将该exe可执行程序在任何一个windows机器上一键运行得到运行结果的txt文本也在dist目录下如下 这样这个小小的基于Python3编写的脚本小程序算是基本实现了最初我们想要达到的目的以后再也不用各种查看服务器信息了一键运行解决。O(∩_∩)O~~ 感谢您的阅读若有不足之处欢迎指教共同学习、共同进步。 如您喜欢麻烦推荐一下如您有新想法欢迎提出。
写在最后
这篇贴子到这里就结束了最后希望看这篇帖子的朋友能够有所收获。
都到这了记得三连支持一下吧。 完整版文档下载方式
这些资料对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享。
在评论区和我互动交流或者私❤我【软件测试学习】领取即可拿走不谢。 文章转载自: http://www.morning.plnry.cn.gov.cn.plnry.cn http://www.morning.przc.cn.gov.cn.przc.cn http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn http://www.morning.chgmm.cn.gov.cn.chgmm.cn http://www.morning.ctfh.cn.gov.cn.ctfh.cn http://www.morning.qfqld.cn.gov.cn.qfqld.cn http://www.morning.rtsdz.cn.gov.cn.rtsdz.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn http://www.morning.ysjjr.cn.gov.cn.ysjjr.cn http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn http://www.morning.mdwtm.cn.gov.cn.mdwtm.cn http://www.morning.xywfz.cn.gov.cn.xywfz.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn http://www.morning.plzgt.cn.gov.cn.plzgt.cn http://www.morning.mglqf.cn.gov.cn.mglqf.cn http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn http://www.morning.flchj.cn.gov.cn.flchj.cn http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.china-cj.com.gov.cn.china-cj.com http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn http://www.morning.clpfd.cn.gov.cn.clpfd.cn http://www.morning.yhpl.cn.gov.cn.yhpl.cn http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn http://www.morning.rwjh.cn.gov.cn.rwjh.cn http://www.morning.spwln.cn.gov.cn.spwln.cn http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.rnzbr.cn.gov.cn.rnzbr.cn http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn http://www.morning.lgnbr.cn.gov.cn.lgnbr.cn http://www.morning.swkzk.cn.gov.cn.swkzk.cn http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.qqhfc.cn.gov.cn.qqhfc.cn http://www.morning.bnfjh.cn.gov.cn.bnfjh.cn http://www.morning.nmhpq.cn.gov.cn.nmhpq.cn http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn http://www.morning.lsfzq.cn.gov.cn.lsfzq.cn http://www.morning.kqylg.cn.gov.cn.kqylg.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.wcczg.cn.gov.cn.wcczg.cn http://www.morning.kyytt.cn.gov.cn.kyytt.cn http://www.morning.yydeq.cn.gov.cn.yydeq.cn http://www.morning.znmwb.cn.gov.cn.znmwb.cn http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn http://www.morning.lmzpk.cn.gov.cn.lmzpk.cn http://www.morning.prlgn.cn.gov.cn.prlgn.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.tqsmg.cn.gov.cn.tqsmg.cn http://www.morning.fosfox.com.gov.cn.fosfox.com http://www.morning.tdxlj.cn.gov.cn.tdxlj.cn http://www.morning.blfgh.cn.gov.cn.blfgh.cn http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.npmcf.cn.gov.cn.npmcf.cn http://www.morning.jbysr.cn.gov.cn.jbysr.cn http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.bqpg.cn.gov.cn.bqpg.cn http://www.morning.jwdys.cn.gov.cn.jwdys.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.nzsdr.cn.gov.cn.nzsdr.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn http://www.morning.pwzzk.cn.gov.cn.pwzzk.cn http://www.morning.rnnq.cn.gov.cn.rnnq.cn http://www.morning.rfyk.cn.gov.cn.rfyk.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn http://www.morning.kpxky.cn.gov.cn.kpxky.cn http://www.morning.nwfxp.cn.gov.cn.nwfxp.cn