问题描述
不,这不安全:
您可以next()
在此处跳过第一行。您还应该测试stopiteration
,如果文件为空,则会引发。
with open('myfile.txt') as f:
try:
header = next(f)
except stopiteration as e:
print "File is empty"
for line in f:
# do stuff with line
解决方法
使用readline()
和读取某些行是否安全for line in file
,是否保证使用相同的文件位置?
通常,我想忽略第一行(标题),所以我这样做:
FI = open("myfile.txt")
FI.readline() # disregard the first line
for line in FI:
my_process(line)
FI.close()
这样安全吗,即可以保证迭代行时使用相同的文件位置变量?