我是靠谱客的博主 光亮柚子,最近开发中收集的这篇文章主要介绍Python Cookbook 4.16 用迭代器取代 while 循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在我们读取一个文件的时候,前面使用的方法是 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 循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部