喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!有不懂的问题可以私聊我哦!
![314d6dfe28387c8e3dc1b5c24a222456.png](https://img-blog.csdnimg.cn/img_convert/314d6dfe28387c8e3dc1b5c24a222456.png)
要读取一个文件有很多种方式:按字节数读取、按行读取、按段落读取、一次性全部读取等等。如果不是深入的操作文件数据,按行读、写是最通用的方式。
以下是下面测试时使用的文件a.txt的内容:
1 first line2 second line3 third line
在Python中,readline()函数可以一次读取一行,且每次都是前进式的读取一行,读到文件结尾的时候会返回空字符串。
1 >>> f = open('a.txt')2 >>> f.readline()3 'first line'4 >>> f.readline()5 'second line'6 >>> f.readline()7 'third line'8 >>> f.readline()9 ''
readline()的操作就像是有一个指针,每次读完一行就将指针指向那一行的后面做下标记,以便下次能从这里开始继续向后读取一行。
除了readline(),open()打开的文件对象还有另一种方式__next__()可以一次向前读取一行,只不过__next__()在读取到文件结尾的时候不是返回空字符串,而是直接抛出迭代异常:
1 >>> f = open("a.txt")2 >>> f.__next__()3 'first line'4 >>> f.__next__()5 'second line'6 >>> f.__next__()7 'third line'8 >>> f.__next__()9 Traceback (most recent call last):10 File "