【发布时间】:2016-10-26 06:58:47
【问题描述】:
在 Python 的 CSV 阅读器中看到这个功能,我感到相当惊讶。
with open(sys.argv[1]) as csvfile:
reader = csv.DictReader(csvfile)
for i in range(3):
sys.stdout.write('A ')
for row in reader:
sys.stdout.write('B ')
#sys.argv[1] is a 3 row csv file
我通常希望这样的代码打印出如下内容:
A B B B A B B B A B B
但是我得到了:
A B B A A
据我了解,这似乎违反了 for 循环的基本流控制属性。我主要怀疑这个迭代器有一个不寻常的属性导致了这种行为。任何解释都会有所帮助,非常感谢。谢谢。
【问题讨论】: