这篇文章主要介绍了Python3读取文件常用方法,以实例形式较为详细的分析了Python一次性读取、逐行读取及读取文件一部分的实现技巧,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
新闻热点
疑难解答