我编写了以下代码,我能够打印出Lat和lon的解析值,但我无法将它们写入文件。我尝试了冲洗,我也尝试关闭文件,但没有用。有人可以在这里指出什么是错的。
import os
import serial
def get_present_gps():
ser=serial.Serial('/dev/ttyUSB0',4800)
ser.open()
# open a file to write gps data
f = open('/home/iiith/Desktop/gps1.txt', 'w')
data=ser.read(1024) # read 1024 bytes
f.write(data) #write data into file
f = open('/home/iiith/Desktop/gps1.txt', 'r')# fetch the required file
f1 = open('/home/iiith/Desktop/gps2.txt', 'a+')
for line in f.read().split('\n'):
if line.startswith('$GPGGA'):
try:
lat, _, lon= line.split(',')[2:5]
lat=float(lat)
lon=float(lon)
print lat/100
print lon/100
a=[lat,lon]
f1.write(lat+",")
f1.flush()
f1.write(lon+"\n")
f1.flush()
f1.close()
except:
pass
while True:
get_present_gps()
答案 0 :(得分:0)
您使用except: pass
覆盖了错误。不要那样做......永远。至少记录异常。
它肯定涵盖的一个错误是lat+","
,它将失败,因为它是float+str
并且它没有实现。但可能会有更多。