python 读取文本文件

Python的文本处理是经常碰到的一个问题,Python的文本文件的内容读取中,有三类方法:read()、readline()、readlines(),这三种方法各有利弊,下面逐一介绍其使用方法和利弊。

read():
  • read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中

    file_object = open(‘test.txt‘) //不要把open放在try中,以防止打开失败,那么就不用关闭了
    try:
        file_context = file_object.read() //file_context是一个string,读取完后,就失去了对test.txt的文件引用
        #  file_context = open(file).read().splitlines()
        // file_context是一个list,每行文本内容是list中的一个元素
    finally:
        file_object.close()
    //除了以上方法,也可用with、contextlib都可以打开文件,且自动关闭文件,
    //以防止打开的文件对象未关闭而占用内存
  • read()的利端
    • 方便、简单
    • 一次性独读出文件放在一个大字符串中,速度最快
  • read()的弊端
    • 文件过大的时候,占用内存会过大
readline():
  • readline()逐行读取文本,结果是一个list

    with open(file) as f:
        line = f.readline()
        while line:
            print line
            line = f.readline()
  • readline()的利端
    • 占用内存小,逐行读取
  • readline()的弊端
    • 由于是逐行读取,速度比较慢
readlines():
  • **readlines()一次性读取文本的所有内容,结果是一个list

    with open(file) as f:
      for line in f.readlines():
         print line
    • 这种方法读取的文本内容,每行文本末尾都会带一个‘\n‘换行符 (可以使用L.rstrip(‘\n‘)去掉换行符)
  • readlines()的利端
    • 一次性读取文本内容,速度比较快
  • readlines()的弊端
    • 随着文本的增大,占用内存会越来越多

最简单、最快速的逐行处理文本的方法:直接for循环文件对象

file_object = open(‘test.txt‘,‘rU‘)
try:
    for line in file_object:
         do_somthing_with(line)//line带"\n"
finally:
     file_object.close()
时间: 2024-10-18 22:39:46

python 读取文本文件的相关文章

python读取文本文件

1. 读取文本文件 代码: [python] view plain copy f = open('test.txt', 'r') print f.read() f.seek(0) print f.read(14) f.seek(0) print f.readline() print f.readline() f.seek(0) print f.readlines() f.seek(0) for line in f: print line, f.close() 运行结果: [email prote

Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)

很多情况下我们是这样读取文本文件的: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r') as f: text = f.read()但是如果该文本文件是gbk格式的,那么将会报以下错误: Traceback (most recent call last): File "F:/.Python Project/spidertest1/test/MyTest4.py", line 14, in <module

python读取文本文件数据

本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制定索引,用index_col 4.跳行读取文本文件,用skiprows 5.数据太大时需要逐块读取文本数据用chunksize进行分块. (二)将数据写成文本文件格式函数:to_csv 范例如下: (一)读取文本文件格式的数据集 1.read_csv和read_table的区别:  #read_cs

python读取文件小结

python读取文件小结 你想通过python从文件中读取文本或数据. 一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中: all_the_text = open('thefile.txt').read( )     # 文本文件中的所有文本 all_the_data = open('abinfile','rb').read( )    # 二进制文件中的所有数据 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用

python读取txt、csv和excel文件

一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.close() for line in lines: username = line.split(',')[0] password = line.split(',')[1] 注:第一句是以只读方式打开文本文件:第二个是读取所有行的数据(read:读取整个文件:readline:读取一行数据):最后一定要关

python 读写文本文件

本人最近新学python ,用到文本文件的读取,经过一番研究,从网上查找资料,经过测试,总结了一下读取文本文件的方法. 1.在读取文本文件的时无非有两种方法: a.f=open('filename', 'r') content=f.read().decode('utf-8') b.f=codecs.open(XXX, encoding='utf-8')  content=f.read() 2.读取Utf8格式的文本文件 # -*- coding: UTF8 -*- import os impor

Python读取SQLite文件数据

近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它(如安卓系统),它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多

python处理文本文件,生成指定格式的文件

import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(filePath,model): print("打开文件") print(filePath) print(model) return open(filePath,model) #获取需要处理的文件 def getProcFile(path): return os.listdir(path) #判断是否满足某个条件,如果满足则执行 def isTru

解决Python读取文件时出现UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam