Python-如何跳至巨大文本文件中的特定行?
以下代码是否有替代方法:
startFromLine = 141978 # or whatever line I need to jump tourlsfile = 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 offsetsline_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])
以上是 Python-如何跳至巨大文本文件中的特定行? 的全部内容, 来源链接: utcz.com/qa/418818.html