下面的代码是否有其他替代方案:
startFromLine = 141978 # or whatever line I need to jump to
urlsfile = open(filename, "rb", 0)
linesCounter = 1
for line in urlsfile:
if linesCounter > startFromLine:
DoSomethingWithThisLine(line)
linesCounter += 1
如果我正在处理一个巨大的文本文件(~15MB)
行未知但长度不同,并且需要跳转到我事先知道的特定行?当我知道我至少可以忽略文件的前半部分时,我对逐一处理它们感到很糟糕。寻找更优雅的解决方案(如果有)。
如果不至少读一次文件,就无法向前跳转,因为您不知道换行符在哪里。你可以这样做:
# Read in the file once and build a list of line offsets
line_offset = []
offset = 0
for line in file:
line_offset.append(offset)
offset += len(line)
file.seek(0)
# Now, to skip to line n (with the first line being line 0), just do
file.seek(line_offset[n])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)