从python调用windows exe - 将数据传递给内存而不是文件

时间:2017-02-15 11:24:59

标签: python windows cmd gpsbabel

这是一个远景,但是......

我正在运行使用gpsbabel.exe调用subprocess.check_output()的python代码。

(有一个python-gpsbabel个套餐,但它似乎没有维护,也没有开箱即用)。

工作示例代码如下所示,我的USB设备连接到串行COM5:

from subprocess import check_output
comport = 5
filename = 'test.gpx'
gps_command = 'gpsbabel -w -t -i mtk -f COM'+str(comport)+' -o gpx -F '+filename
print check_output(gps_command, shell=True)

独立的gpsbabel命令看起来像这样

gpsbabel -w -t -i mtk -f COM5 -o gpx -F test.gpx

两个代码都会在工作目录中创建一个文件test.gpx

这是远程的想法 - 我不想将gpsbabel.exe写入文件,而是将test.gpx的内容写入内存或缓存或虚拟的东西,可以通过python访问。这主要是出于性能原因,因此我不需要花时间编写文件然后重新阅读。

使用Windows批处理是否可以用虚拟内存中对象替换磁盘上的文件?

由于司机,我在Windows上开发 - 但我也愿意接受其他操作系统的创意。

如果不可能,接下来的步骤将是:

  • 自己编译gpsbabel(not so easy

  • 使用其他工具代替gpsbabel(到目前为止没有找到)

  • 调查劫持python-gpsbabel(虽然它似乎只是我已经在做的事情的包装)

0 个答案:

没有答案