2016-07-28 31 views
2

当读取使用csv模块文件,有两种方式通过csv.reader返回的发电机进行迭代。Python的CSV reader.next()与下一个(阅读器)

with open('foo.csv') as f: 
    reader = csv.reader(f) 
    row1 = reader.next() 
    row2 = next(reader) 

有没有得到如何row1row2之间有什么区别?一个比另一个更受欢迎吗?

回答

2

在开始的时候,唯一的选择是调用iterator.next()上的迭代器iterator。 Python 2.6中引入了内置next(iterator),其简称为iterator.next()引擎盖下。在Python 3,next(iterator)调用iterator.__next__(),并iterator.next()引发AttributeError。所以,除非你是一个真正的老版本的Python(在这种情况下,你应该升级反正),可以使用内建的。