2016-07-28 47 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(在這種情況下,你應該升級反正),可以使用內建的。