作者:mobiledu2502931957 | 来源:互联网 | 2018-07-18 15:29
本文实例讲述了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程序设计有所帮助。