在Windows上用Python通过USB读取iOS设备的代际和型号信息
你好,我有一个图形用户界面(GUI),我想通过USB连接在桌面电脑上检测iPod touch和iPhone的代数和型号。我看到有libgpod这个工具,但我用的是Windows电脑,对如何安装它(如果它能在Windows上用的话)了解不多。
我希望能够连接到设备,找到并打印出它的代数(比如像iPod 1,1 - iPod touch 1G这样的格式),然后指定一个与设备相关的文件进行下载。
1 个回答
1
我本来想给你一个更详细的代码示例,但这些信息应该能帮你入门。
pywinusb 是一个不错的选择,因为它能更可靠地读取连接设备的信息。网上有一些很好的示例,可以用来输出连接的设备等,这里有一些不错的例子。你需要找到设备的 vendor_id(厂商 ID)或者 product_id(产品 ID),下面是一些示例代码。
from pywinusb import hid
# filter connected devices by vendor and product
filter = hid.HidDeviceFilter(vendor_id = 0x0777, product_id = 0x0077)
# filter connected devices by vendor
# filter = hid.HidDeviceFilter(vendor_id = 0x0777)
# filter connected devices by product
# filter = hid.HidDeviceFilter(product_id = 0x0077)
devices = filter.get_devices()
for device in devices:
print device
你可以在这里找到更多的 示例。
你也可以试试使用 win32com 来列出 WMI 中的 Win32_USBHub 设备?
import win32com.client
wmi = win32com.client.GetObject ("winmgmts:")
for usb in wmi.InstancesOf ("Win32_USBHub"):
print "DeviceID - " + usb.DeviceID
print "Name - " + usb.Name
print "Description - " + usb.Description
print "Caption - " + usb.Caption
print "SystemName - " + usb.SystemName
print "PNPDeviceID - " + usb.PNPDeviceID
print "\n\n"