python - 文件对象本身包含什么?
问题描述
请参阅以下代码:
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)
调用对象 & 的 tke__str__
方法,该方法file
恰好返回一个字符串,该字符串告诉您对象的类型,即TextIOWrapper
& 一些属性name
等r
。文件内容不在这里,因为该文件尚未被读取。
for i in file
调用了__iter__
文件对象的方法,实际上确实读取了文件(一次一行)。该file
对象包含一个指向文件中某个位置的指针 - 这用于从中读取。
推荐阅读
- r - 如何在R中缩放圆形树状图?
- c# - 如何在给定 MessageDescriptor 的情况下创建 protobuf Message 实例(在 dotnet / C# 中)
- python - WLAN网络上的Python ZMQ示例
- amazon-ec2 - EC2 如何允许 SSH 调谐访问私有子网中的 RDS?
- python - 上下文无关语法树作为特征
- iis - IIS URL Rewrite 删除部分路径
- javascript - React Router 4 链接正在工作,但组件未呈现
- php - PHP接收文件并将其放入文件夹中
- ios - 无法使用 this.state.data.map() 在 react native firebase 中显示获取的数据
- javascript - 通过脚本访问 HTML 元素