我已经开始学习python,并遇到以下代码来打印文件的内容:
with open('Example2.txt','r') as readfile:
for line in readfile:
print(line)
输出如下:
This is line A
This is line B
This is line C
This is line D
如果信息表明for
循环返回一行一行地输入然后打印它,那么据我所知(据我所知(如果我错了,请更正)),变量readfile
包含单个字符串,那么循环如何运行多次?它必须一次打印文件的内容。
另外,这是我认为逐行读取文件的正确代码,它也打印相同的输出。那么以前的代码和此代码有什么区别?
with open('Example2.txt','r') as readfile:
for line in readfile.readlines():
print(line)
实际上,readfile
变量是一个文件对象,它具有一个__iter__
方法,其中的每个索引__iter__
对应于文件中的一行。有关更多信息,请检查以下类似问题:使用for循环在Python中读取文件
实际的类型定义可以在此处找到,它继承自BufferedIOBase,后者又继承自IOBase,其中readlines
定义了方法
这两个代码段之间的区别在于,在第一个代码段中,您依靠的实现TextIOWrapper
(本质上是语法糖)来调用readlines
您,而在第二个代码段中,您明确地进行了调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句