Python文件变量-这是什么?

Python文件变量-这是什么?,第1张

Python文件变量-这是什么?

f
是文件对象。该文档列出了其结构,因此,我仅说明索引/迭代行为。

对象只有在实现时才可索引

__getitem__
,可以通过调用
hasattr(f,'__getitem__')
或仅调用
f[0]
并查看它是否引发错误来检查该对象。实际上,这正是您的错误消息告诉您的内容:

TypeError: 'file' object has no attribute '__getitem__'

文件对象不可索引。您可以调用

f.readlines()
并返回行列表,该列表本身是可索引的。

实现的对象可以

__iter__
使用
for ... in...
语法进行迭代。现在,实际上有两种可迭代对象:容器对象和迭代器对象。迭代器对象实现两种方法:
__iter__
__next__
。容器对象仅实现
__iter__
并返回一个迭代器对象,这实际上是您要迭代的对象。文件对象是它们自己的迭代器,因为它们实现了这两种方法。

如果要以迭代方式获取下一项,则可以使用以下

next()
函数:

first_line = next(f)second_line = next(f)next_line_that_starts_with_0 = next(line for line in f if line.startswith('0'))

一个警告:可迭代的对象通常不是“可回卷的”,因此,一旦您遍历了可迭代的对象,就无法真正返回。要“倒带”文件对象,可以使用

f.seek(0)
,它将把当前位置设置回文件的开头。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5620323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存