我不太明白 Python 如何循环遍历列表和文件。
假设我有这样的文件:
文本文件
:
Stations
--------
stn Name Parameter Data source Longitude/Latitude Coordinates [km] Elevation [m]
ARA Arolla rre250c0 XX XXX XXX 0
BOQ Bouquetins rre250c0 XX XXX XXX 0
BRE Bréona rre250c0 XX XXX XXX 0
CDR Col de Riedmatten rre250c0 XX XXX XXX 0
CTZ Crettaz rre250c0 XX XXX XXX 0
HOL Hohlicht rre250c0 XX XXX XXX 0
TRI Trift rre250c0 XX XXX XXX 0
TAP Täschalp rre250c0 XX XXX XXX 0
VOU Vouasson rre250c0 XX XXX XXX 0
这就是我的代码:
statList = ["ARA", "BOQ", "BRE", "CDR", "CTZ",
"FEP", "HOL", "TRI", "TAP", "VOU"]
legend34413 = open("textfile.txt", "r")
for k in statList:
for i in legend34413:
print k #always prints "ARA"
#do more stuff
但是,我的第一个 for 循环似乎没有遍历整个 statList
。它只为文件中的每一行打印 ARA
,而不是下一行,即 BOQ
。
这是为什么?!
最佳答案
一旦循环执行了一次,并为文件中的每一行都打印了 ARA
,它就会到达文件末尾并耗尽迭代器。如果你想让它返回并从头开始,你需要倒带它:
for k in statList:
for i in legend34413:
print k
legend34413.seek(0)
现在您的代码将为文件中的每一行打印一次ARA
。然后它将为文件中的每一行打印一次 BOQ
,然后为每一行打印一次 BRE
,依此类推。
关于python - Python 中的循环模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048573/