在Windows上用Python通过USB读取iOS设备的代际和型号信息

1 投票
1 回答
1641 浏览
提问于 2025-04-18 13:49

你好,我有一个图形用户界面(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"

撰写回答