本文实例讲述了Python3读取文件常用方法。分享给大家供大家参考。具体如下:
\'\'\'\'\'
Created on Dec 17, 2012
读取文件
@author: liury_lab
\'\'\'
# 最方便的方法是一次性读取文件中的所有内容放到一个大字符串中:
all_the_text = open(\'d:/text.txt\').read()
print(all_the_text)
all_the_data = open(\'d:/data.txt\', \'rb\').read()
print(all_the_data)
# 更规范的方法
file_object = open(\'d:/text.txt\')
try:
all_the_text = file_object.read()
print(all_the_text)
finally:
file_object.close()
# 下面的方法每行后面有‘\\n\'
file_object = open(\'d:/text.txt\')
try:
all_the_text = file_object.readlines()
print(all_the_text)
finally:
file_object.close()
# 三句都可将末尾的\'\\n\'去掉
file_object = open(\'d:/text.txt\')
try:
#all_the_text = file_object.read().splitlines()
#all_the_text = file_object.read().split(\'\\n\')
all_the_text = [L.rstrip(\'\\n\') for L in file_object]
print(all_the_text)
finally:
file_object.close()
# 逐行读
file_object = open(\'d:/text.txt\')
try:
for line in file_object:
print(line, end = \'\')
finally:
file_object.close()
# 每次读取文件的一部分
def read_file_by_chunks(file_name, chunk_size = 100):
file_object = open(file_name, \'rb\')
while True:
chunk = file_object.read(chunk_size)
if not chunk:
break
yield chunk
file_object.close()
for chunk in read_file_by_chunks(\'d:/data.txt\', 4):
print(chunk)
输出如下:
hello python hello world b\'ABCDEFG\\r\\nHELLO\\r\\nhello\' hello python hello world [\'hello python\\n\', \'hello world\'] [\'hello python\', \'hello world\'] hello python hello worldb\'ABCD\' b\'EFG\\r\' b\'\\nHEL\' b\'LO\\r\\n\' b\'hell\' b\'o\'
希望本文所述对大家的Python程序设计有所帮助。