您的位置:首页 > 编程语言 > Python开发

Python小知识积累之read,readline,readlines

2015-11-02 12:44 501 查看
转载自http://www.pythonfan.org/thread-4118-1-1.html

我们谈到“文本处理”时,我们通常是指处理的内容。Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: .read()、.readline() 和 .readlines()。每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 .read()
每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。 tr = open('F:\WriteFile.txt')
>>> tr.readlines()
['Hello World\xa3\xa1\xa3\xa1\xa3\xa1\n', 'How are you?\n', 'Fine! Thank you,and you?\n', "I'm fine too!"]
>>> tr.read()
''
>>> tr.readline()
''
>>> tr.readlines()
[]
>>> fr = open('F:\WriteFile.txt')
>>> fr.read()
"Hello World\xa3\xa1\xa3\xa1\xa3\xa1\nHow are you?\nFine! Thank you,and you?\nI'm fine too!"
>>> r = open('F:\WriteFile.txt')
>>> r.readline()
'Hello World\xa3\xa1\xa3\xa1\xa3\xa1\n'

.readline() 和 .readlines() 非常相似。它们都在类似于以下的结构中使用:

Python .readlines() 示例
        fh = open('c:\\autoexec.bat')

         for line in fh.readlines(): 

         print line

      
.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比
.readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 读文件