Python的跨平台USB模块是什么?

5

我希望能够使用Python在跨平台上操作USB设备,你有什么关于可以完成这种操作的模块的建议或提示吗?

我已经在SF和Google Code上搜索了一些内容,但没有太多收获。

谢谢!

ct

1个回答

5

PyUSB是您要寻找的内容,它是围绕libusb的一个包装器,可在Linux上运行,并已移植到Windows。


有没有什么东西不需要外部USB依赖(如libusb)? - ct_
@Adrien,可以使用Python中现在标准的ctypes来编写Windows API。 - Peter Hansen
@Peter:当然……但由于代码的某些部分可能最终会进入内核,我相当确定Python解释器不适合在那里。 (但是,我不知道类似libusb这样的东西是否完全位于用户空间或具有任何内核代码) - Adrien Plisson
@peter:我的意思是,在内核空间执行Python程序(带有完整的解释器)并不是一个好主意。解释器初始化的某些操作可能在内核空间中被禁止。此外,这可能会构成安全威胁,因为任何Python模块都可以在内核中执行... - Adrien Plisson
libusb是100%用户空间的,并针对UNIX系列中表示USB设备的设备文件进行操作。在Windows上,libusb可以使用多个驱动程序之一来访问USB设备,通常是WinUSB。可以使用WinUSB的Python包装器代替,但您会失去可移植性。 - Tormod Volden
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接