概述
在我们读取一个文件的时候,前面使用的方法是 next() 函数逐行读取,或者 f.read() 不加参数 直接读出所有数据。
或者我们也可以使用迭代的方法进行读取。
示例如下:
path = './task.txt'
f = open(path, encoding='utf-8')
for chunk in iter(lambda:f.read(10), ''):
print(chunk, len(chunk))
f.close()
这里的意思是每次读取十个字节,’’ 作为一个哨兵值,没有数据了即返回。
或者 ‘’ 还可以变为其他特定字符,如果数据里读到了这个字符或者字符串则返回,比如这里我们使用 编码 的 码 字。
for chunk in iter(lambda:f.read(1), '编'):
print(chunk, len(chunk))
经过测试,哨兵值的设定是可以成功的。
最后
以上就是光亮柚子为你收集整理的Python Cookbook 4.16 用迭代器取代 while 循环的全部内容,希望文章能够帮你解决Python Cookbook 4.16 用迭代器取代 while 循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复