首页 > 解决方案 > 文件对象本身包含什么?

问题描述

请参阅以下代码:

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我得到了内部数据。

那么文件对象实际上包含什么?

标签: pythonfileconcept

解决方案


print(file)

调用对象 & 的 tke__str__方法,该方法file恰好返回一个字符串,该字符串告诉您对象的类型,即TextIOWrapper& 一些属性namer。文件内容不在这里,因为该文件尚未被读取。

for i in file

调用了__iter__文件对象的方法,实际上确实读取了文件(一次一行)。该file对象包含一个指向文件中某个位置的指针 - 这用于从中读取。


推荐阅读