zoukankan      html  css  js  c++  java
  • Python中read()、readline()和readlines()三者间的区别和用法

     

    众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,不懂得它的原理与用法。也许吧,没有永远的记忆,况且根本没有用心去记它。话不多说,来一起看看详细的介绍:

    假设a.txt

    一、read([size])方法

    read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象

    f = open("a.txt")
    lines = f.read()
    print lines
    print(type(lines))
    f.close()

    输出结果:

    Hello
    Welcome
    What is the fuck...
    <type 'str'> #字符串类型

    二、readline()方法

    从字面意思可以看出,该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。

    1
    2
    3
    4
    5
    6
    7
    = open("a.txt")
    line = f.readline()
    print(type(line))
    while line:
     print line,
     line = f.readline()
    f.close()

    输出结果:

    <type 'str'>
    Hello
    Welcome
    What is the fuck...

    三、readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存

    f = open("a.txt")
    lines = f.readlines()
    print(type(lines))
    for line in lines:
     print line,
    f.close()

    输出结果:

    1 <type 'list'>
    2 Hello
    3 Welcome
    4 What is the fuck...

    四、linecache模块

    当然,有特殊需求还可以用linecache模块,比如你要输出某个文件的第n行:

    1
    2
    3
    # 输出第2行
    text = linecache.getline(‘a.txt',2)
    print text,

     

  • 相关阅读:
    打造基于CentOS7的xfce最简工作环境
    Linux下C程序的编辑,编译和运行以及调试
    修正 XE6 TListView 上方 SearchBok 右边的清除钮显示
    TabControl 显示彩色的图示 (XE6 Firemonkey)
    TSwitch 中文简繁显示支持(XE6 Android)
    改变 TMemo 的背景颜色 (Firemonkey)
    修正 XE5 Android 键盘三个问题
    Delphi 收藏
    展示 Popup 的使用方法
    ListView 下拉更新 (支持 Android)
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/10358685.html
Copyright © 2011-2022 走看看