【发布时间】:2011-08-08 17:32:34
【问题描述】:
我有一个小文件读取例程,我只想要它工作的第 200 条记录,但在此过程中我无法弄清楚使用“while”构造有什么问题。 此代码有效:
import csv, sys, zipfile
sys.argv[0] = "/home/tom/Documents/REdata/AllListing1RES.zip"
zip_file = zipfile.ZipFile(sys.argv[0])
items_file = zip_file.open('AllListing1RES.txt', 'rU')
rows = []
for row_index, row in enumerate(csv.DictReader(items_file, dialect='excel', delimiter='\t')):
if (row_index < 200):
rows.append(row)
else : break
这段代码一直运行,直到它因内存不足而失败,我认为它是等效的?
import csv, sys, zipfile
sys.argv[0] = "/home/tom/Documents/REdata/AllListing1RES.zip"
zip_file = zipfile.ZipFile(sys.argv[0])
items_file = zip_file.open('AllListing1RES.txt', 'rU')
rows = []
for row_index, row in enumerate(csv.DictReader(items_file, dialect='excel', delimiter='\t')):
while (row_index < 200):
rows.append(row)
else : break
那么使用 while 的正确构造是什么? -
【问题讨论】:
-
请不要将 cmets 添加到您自己的问题中。请更新问题以完成。然后你可以删除混乱和多余的评论。
标签: python if-statement while-loop