Python3读取文件常用方法实例分析
作者:皮蛋
这篇文章主要介绍了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程序设计有所帮助。