2015-04-03 47 views
2
>>> import csv 
>>> csvfile = open("name.csv") 
>>> reader = csv.DictReader(csvfile,delimiter=" ") 
>>> print(list(reader)) 
[{'first_name': 'Baked', 'last_name': 'Beans'}, {'first_name': 'Lovely', 'last_name': 'Spam'}, {'first_name': 'Wonderful', 'last_name': 'Spam'}] 
>>> print(list(reader)) 
[] 

我想知道爲什麼第二次運行print(list(reader))什麼都不打印? 已經在print(list(reader))的第一次運行後更改reader?謝謝。爲什麼`print(list(reader))``第二次運行什麼都不打印?

+2

因爲'reader'是一個生成器。在迭代一次之後,您無法再次迭代它。 – CoryKramer 2015-04-03 13:34:32

+0

https://docs.python.org/2/glossary.html#term-generator – 2015-04-03 13:35:37

回答