声明
测试环境:Python2.7
硬件环境:树莓派3B
最简单的读取
f = open('test.txt', 'r')
print f.read()
其中r表示读取模式,此外还有w,写入模式。a,追加模式。r+,读写模式。
实现逐行读取并输出
有三种方法
f = open("text.txt")
line = f.readline()
while line:
print line,
line = f.readline()
f.close()
调用了readline方法,逐行读取,逐行输出。
f = open("text.txt")
for line in f:
print line,
将前面的循环语句改为for循环,更加简单。
第三种方法则调用readlines函数,从理论上说一次性把所有文本都读取出来了,会更节约能耗(不过也仅仅理论上,实际微乎其微)
实现中文的输出
如果仅仅读取英文,那以上方法足够。但应用在中文是就显得不太实用了。要么出现以下情况:
¾£½æ 30¿Ë^M
·À·ç 30¿Ë^M
Ǽ»î 30¿Ë^M
¶À»î 30¿Ë^M
´¨Üº 30¿Ë^M
²ñºú 30¿Ë^M
Ç°ºú 30¿Ë^M
½Û¹£è×¿Ç 30¿Ë^M
ÜòÜß 30¿Ë^M
¸Ê²Ý 15¿Ë
要么就直接输出ascii码。要实现中文的输出,一是Python编译环境要支持中文,二是输出格式要声明中文。
首先在最开头声明utf-8解释:
# -*- coding: utf-8 -*-
其次再输出时声明中文解码:
print line.decode("gb2312")
这样就基本实现了读取txt的功能