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

577次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8