记录一段较为典型的读取python文本文件的代码。
读取的文件内容如下:
代码如下:
def get_track_points(filename): # 读取轨迹文件中的轨迹点
lines = [] # 存放单个轨迹文件中的所有轨迹点,由于每行中的字段可能并不完整,无法直接对齐生成Data Frame
with open(filename, 'rb') as f: # 这里先用二进制读入,下面再解码,比文本读入速度更快
for fLine in f:
fLine = fLine.decode(encoding='mbcs').strip()# 每行最后有一个换行符,需要去掉
line = [item for item in fLine.split(',')]# 按照逗号分割字段
lines.append(line)
f.close()
return lines
包含的知识点有:
- 用with open() as读写文件。此种写法会自动调用close()方法,保证文件读取的这个操作,只有在with语句内部才会生效。同时可以使用for循环方便的对每行数据进行操作。
- 使用strip()函数去除字符串首尾字符(默认为空格和换行符)。
- 按逗号分割字符串并生成list的写法。
- 使用二进制的方式读取文件再进行编码的方式比直接读入文本快得多。