在跨平台python中查找usb gps

在跨平台python中查找usb gps,python,gps,usb,cross-platform,pyserial,Python,Gps,Usb,Cross Platform,Pyserial,我正在开发一个python应用程序,可以从gps usb加密狗读取数据。到目前为止,一切都在基于ubuntu/debian的系统中运行,在那里,我以一种相当直截了当的方式与gps通信,用pySerial扫描所有的/dev/ttyUSB0-9,查找38400波特上说NMEA句子的东西。现在我被要求让这个应用程序跨平台工作,我有点困惑,哪种方法是找到gps加密狗的最佳方法 我考虑了以下几点: if os.name == "posix":   self.conn = serial.Serial("

我正在开发一个python应用程序,可以从gps usb加密狗读取数据。到目前为止,一切都在基于ubuntu/debian的系统中运行,在那里,我以一种相当直截了当的方式与gps通信,用pySerial扫描所有的/dev/ttyUSB0-9,查找38400波特上说NMEA句子的东西。现在我被要求让这个应用程序跨平台工作,我有点困惑,哪种方法是找到gps加密狗的最佳方法

我考虑了以下几点:

if os.name == "posix":
    self.conn = serial.Serial("/dev/ttyUSB%i" % usb)
elif os.name == "nt":
    ...

但我更希望有一个跨平台的单一解决方案。有人知道这样的解决方案吗

您可以使用pySerial文档中提供的模块中的
comports
功能来确定哪些COM端口可用,然后使用返回的关于打开端口的信息,找到哪一个是您的GPS加密狗


编辑:该文档还提供了一个模块,该模块只包含一个非常简单的函数,用于探测每个256个端口以查找哪些端口处于打开状态,也许这就足够满足你的需要了。

我想从长远来看,你可能会更多地使用跨平台,所以为什么不继续使用它呢?

好主意!这并不是我所希望的平台独立性,但可能找不到…尝试了他们的三个演示脚本来查找串行端口,但都没有在OS X中工作。。。我还需要再检查一下!如果我发现了什么,我会发帖的。