Python 为什么需要耗尽并丢弃迭代器?
关闭迭代器并释放获取的资源 当迭代器耗尽或垃圾收集时,或者在迭代过程中发生错误时,将自动调用该函数。但是,建议显式调用它或使用with语句 3.6版中的新版本Python 为什么需要耗尽并丢弃迭代器?,python,iterator,scandir,Python,Iterator,Scandir,关闭迭代器并释放获取的资源 当迭代器耗尽或垃圾收集时,或者在迭代过程中发生错误时,将自动调用该函数。但是,建议显式调用它或使用with语句 3.6版中的新版本 亲爱的,我偶然发现了这一段。它给我的印象是迭代器需要被耗尽和丢弃。为什么会这样?迭代器对象在工作过程中可以获取或创建某些资源。这是scandir情况下的文件系统句柄 因此,最好将其耗尽,因为在这种情况下,它将能够正确、及时地释放这些资源。但这是不必要的,有时需要中断迭代。在这种情况下,我们必须明确地告诉对象我们不再需要迭代它,它可以释放资
亲爱的,我偶然发现了这一段。它给我的印象是迭代器需要被耗尽和丢弃。为什么会这样?迭代器对象在工作过程中可以获取或创建某些资源。这是
scandir
情况下的文件系统句柄
因此,最好将其耗尽,因为在这种情况下,它将能够正确、及时地释放这些资源。但这是不必要的,有时需要中断迭代。在这种情况下,我们必须明确地告诉对象我们不再需要迭代它,它可以释放资源
显式地这样做比依赖垃圾收集器要好,这样可以更好地控制程序流,并可以防止出现意外错误
scandir.close()