python3读取文件常用方法实例分析

本文实例讲述了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程序设计有所帮助。

Posted in 未分类

发表评论