代码如下:
#encoding=utf-8
print '中国'
#读取文件
input = open(r'D:\123.txt','r')
#方式一
print '--------1'
while True:
line = input.readline()
if not line :
break
else:
print line.decode('gbk')
#方式二
print '--------2'
input.seek(0)
for line in input.readlines():
print line.decode('gbk')
#方式三
print '--------3'
input.seek(0)
for line in input:
print line.decode('gbk')
input.close()
#方案四 全部读取 除非文件很大,建议读取内存处理比较快
print '--------4'
input = open(r'D:\123.txt','r')
try:
print input.read().decode('gbk')
finally:
input.close()
#方案五读取二进制
print '--------5'
input = open(r'D:\123.txt','rb')
try:
print input.read(6).decode('gbk')
finally:
input.close()
def read_file_by_chunks(filename,chunksize=100):
fileobj = open(filename,'rb') #ru的打开方式保证所有平台的换行符号为\n
while True:
chunk = fileobj.read(chunksize)
if not chunk:
break
yield chunk
fileobj.close()
for chunk in read_file_by_chunks(r'D:\123.txt',6):
print chunk.decode('gbk')
打印结果如下:
中国
--------1
123
456
中国
--------2
123
456
中国
--------3
123
456
中国
--------4
123
456
中国
--------5
123
4
123
4
56
中
国