如何理解<class'_io.textiowrapper'=“”>?

时间:2017-09-27 02:20:34

标签: python python-3.x file-io

以下是代码:

fin=open("myFile.txt","r") # opening a file creates a file handle

for line in fin:
    print(line)

fin.close() # close file handle

我的问题是:如何理解TextIOWrapper对象fin?我的意思是,可以肯定地说它是具有序列结构的东西,其中序列的每个项目都是文件的一行,其中包含&#34; \ n&#34;添加?我还能说些什么呢?你怎么理解它?

非常感谢任何评论。

2 个答案:

答案 0 :(得分:2)

表达式for line in file通过新行分隔符将文件拆分(更准确地流),直到达到EOF。可以把它想象成一条直到它是一条新行的流,然后返回它刚读过的字符。

答案 1 :(得分:1)

类似文件的对象iterators在每次迭代时产生一行文本。一般的迭代器只意味着你可以完全循环一次&#34 ;;文件与此模式的不同之处在于它们可以(取决于代表的内容)为seek ed,这会将迭代器重置为文件中的新位置。

要清楚,它们不是序列;术语&#34;序列&#34;具有特定含义,包括对其进行索引,连续多次或并行迭代的能力,所有这些都无需手动修复状态。