zoukankan      html  css  js  c++  java
  • Python迭代器

    一、文件迭代器

    readline()每次读取文件的一行,每次调用readline方法会自动到下一行,到文件末尾时,会返回空字符串。

    _next_()方法同readline()一样,只是到最后一行会引发stopiteration。

    逐行读取文本的的最佳方式是用for循环每轮自动调用next,for line in open(文件名)。

    readlines()一次将文件读取到内存,如果文件过大,会导致计算机内存空间不够用,效果差。

    手动迭代:iter和next

    f=open(文件名)

    f._next_() 与next(f)的效果一样,每次调用读取一行

    从技术角度讲,for循环开始时,会通过它传给iter内置函数,以便从可迭代对象中获取一个迭代器,返回的对象含有需要的next方法。

    >>> L=[1,2,3]
    >>> I=iter(L)   #获取一个迭代对象

    >>> next(I)
    1
    >>> next(I)
    2
    >>> next(L)
    Traceback (most recent call last):
    File "<pyshell#9>", line 1, in <module>
    next(L)
    TypeError: 'list' object is not an iterator

    最初的一步对于文件对象来说是不必要的,因为文件对象有自己的迭代器,即文件对象有自己的—_next_()方法。

    >>>f=open(文件名) 

    >>>iter(f) is f

    True

    >>>L=[1,2,3]

    >>>iter(L) is L

    False

  • 相关阅读:
    性能监控工具之----PerfMon Metrics Collector
    idea 常用设置记录
    springboot 初体验之踩坑篇
    Interleave controller-jmeter
    js怎么判断一个类型是否为数组类型
    加载完成事件
    Jquery-查找
    Dom-增加、删除
    Dom-修改
    Dom-查找
  • 原文地址:https://www.cnblogs.com/moady/p/5682577.html
Copyright © 2011-2022 走看看