我正在使用python的csv模塊從外部工具不斷更新的csv中提取數據。我遇到了一個問題,當我到達文件末尾時,出現StopIteration錯誤,但是,我希望腳本繼續循環等待外部工具添加更多行。在更新文件時使用Python csv模塊
我想出了迄今爲止要做到這一點:
f = open('file.csv')
csvReader = csv.reader(f, delimiter=',')
while 1:
try:
doStuff(csvReader.next())
except StopIteration:
depth = f.tell()
f.close()
f = open('file.csv')
f.seek(depth)
csvReader = csv.reader(f, delimiter=',')
這有預期的功能,但它似乎也太可怕了。在捕獲StopIteration之後循環是不可能的,因爲一旦拋出StopIteration,它將在每次後續調用next()時拋出StopIteration。任何人對如何實施這個建議都有這樣的想法,我不需要做這個愚蠢的告訴和尋求?或者有一個不同的python模塊可以很容易地支持這個功能。
+1:命名管道。放棄文件。使用更簡單併爲此目的而構建的東西。 – 2010-01-05 00:21:36