文件对象拥有什么?
What does file object holds itself?
参见下面的代码:
import os
file = open("C:/Users/AAYUSH/Desktop/file.txt", 'r' )
print(file)
for i in file:
print(i,end="")
如果我执行这段代码,我得到以下输出:
<_io.TextIOWrapper name='C:/Users/AAYUSH/Desktop/file.txt' mode='r' encoding='cp1252'>
This is first line!!!
This is second line!!!
我的问题是:如果我执行 print(file)
然后我得到了一个文件的字典,当我在 for loop
的帮助下写的时候我得到了内部数据。
那么这个文件对象到底持有什么?
print(file)
调用 file
对象的 tke __str__
方法 & 这恰好 return 一个告诉你对象类型的字符串,即 TextIOWrapper
和一些属性name
、r
等。文件内容不在这里,因为文件还没有被读取。
for i in file
调用了文件对象的 __iter__
方法,实际上 确实 读取文件(一次一行)。 file
对象持有一个指向文件中某个位置的指针 - 这用于从中读取。
参见下面的代码:
import os
file = open("C:/Users/AAYUSH/Desktop/file.txt", 'r' )
print(file)
for i in file:
print(i,end="")
如果我执行这段代码,我得到以下输出:
<_io.TextIOWrapper name='C:/Users/AAYUSH/Desktop/file.txt' mode='r' encoding='cp1252'>
This is first line!!!
This is second line!!!
我的问题是:如果我执行 print(file)
然后我得到了一个文件的字典,当我在 for loop
的帮助下写的时候我得到了内部数据。
那么这个文件对象到底持有什么?
print(file)
调用 file
对象的 tke __str__
方法 & 这恰好 return 一个告诉你对象类型的字符串,即 TextIOWrapper
和一些属性name
、r
等。文件内容不在这里,因为文件还没有被读取。
for i in file
调用了文件对象的 __iter__
方法,实际上 确实 读取文件(一次一行)。 file
对象持有一个指向文件中某个位置的指针 - 这用于从中读取。