java获取硬盘序列号_Win7 64+Python3.7获取计算机硬盘信息初探
一、需求
由于最近負責電腦資產清查的工作,有100多臺分散的電腦需要獲得用戶名、MAC地址、硬盤序列號、硬盤品牌
一般方法:
(1)查看系統用戶名
(2) 獲取MAC地址
windos命令行使用ipconfig /all(3)使用Hdtune軟件查看硬盤序列號、硬盤品牌
HDtune5.0(4)把上述信息手動輸入一個Excel總表
以上操作 ,一輪下來大約5~10分鐘
還是寫代碼吧,把每臺電腦的上述信息都統一輸出為一個子excel,最后再將所有xls文件放在一個文件夾中,利用VBA合并到一個表就可以了交差了
一年多沒寫過腳本,折騰了半天,基本完成
二、簡單筆記
環境:Win7 64+Python3.7
Part 1 用到的庫函數
(1)getpass庫的getuser方法,獲得當前用戶名
(2)WMI庫的Win32_DiskDrive類,調用SerialNumber和Caption方法獲取物理硬盤的硬盤序列號、硬盤品牌
參見
Win32_DiskDrive class - Windows applications?docs.microsoft.com(3)通過WMI庫Win32_NetworkAdapterConfiguration類獲取MAC地址,調用interface.MACAddress方法
參見
Win32_NetworkAdapterConfiguration class - Windows applications?docs.microsoft.com(4)xlwt庫,寫入本地xls文件(很簡單)
代碼很簡單
from wmi import WMI from getpass import getuser from xlwt import Workbookc = WMI () listValue = []#獲取用戶名 userName = getuser() listValue.append( userName ) #獲取MAC和IP地址 for interface in c.Win32_NetworkAdapterConfiguration ( IPEnabled= True ):listValue.append( interface.MACAddress ) #獲取SerialNumber和Caption for physical_disk in c.Win32_DiskDrive(): #SerialNumber : Number allocated by the manufacturer to identify the physical media.listValue.append( physical_disk.SerialNumber ) #Caption : Short description of the object.listValue.append( physical_disk.Caption )Part 2 py文件轉換為exe文件
最后一步,利用pyinstaller將py文件打包成可執行文件。
先試了一下默認的打包命令
Pyinstaller diskinfo.py生成了一堆文件
這堆是啥我得研究一下。。。等等,我只是個寫腳本的,其他的有空再研究,可執行文件在disk文件夾里,1.8M
執行,費時2s左右,生成所需xls文件
但是這一堆文件有點麻煩,每個電腦還得拷過來拷過去,查了下資料,發現可以做成單個執行文件,編譯的時候時候加“-F”參數就行了
Pyinstaller -F diskinfo.py現在就沒有一堆奇怪的東西了,單個可執行文件一共9.3M
進階操作參考
PyInstaller Manual?pyinstaller.readthedocs.ioPart 3
又試了幾臺都沒什么問題,還未解決的問題應該還有不少:
(1) 現在都是64位系統,可以執行,32位系統沒法用
(2) 單個文件打包后比較大,搜了一些解決方案,回去重新調試一下
(3) 手生,調試的過程中踩了很多基礎坑,回去把《Python基礎教程》復習一下
總結
以上是生活随笔為你收集整理的java获取硬盘序列号_Win7 64+Python3.7获取计算机硬盘信息初探的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java输出变量_Java笔记1: 输入
- 下一篇: python 精度损失_Python的浮