展开全部
按 指定行数 分页读取好处理:def iterpage(istream, pagesize):
buffer = []
for data in istream:
buffer.append(data)
if len(buffer)>=pagesize:
yield buffer
buffer = []
if buffer:
yield buffer
with open("source.txt", 'rt') as handle:
for page in iterpage(handle, 1000):
print page # or your business logical
print "-"*32 # page break
删除文本文件62616964757a686964616fe59b9ee7ad9431333337613138的前N行:def removehead(filename, headlines):
buffer = []
with open(filename, 'rt') as handle:
for i, ln in enumerate(handle):
if ln < headlines:
continue
buffer.append(ln)
with open(filename, 'wt') as handle:
handle.writelines(buffer)
或者:def getandremovehead(filename, headlines):
with open(filename, 'rt') as handle:
buffer = handle.readlines()
with open(filename, 'wt') as handle:
handle.writelines(buffer[headlines:])
return buffer[:headlines]
但遇到大文本文件时,删除其中N行不是很理想的业务方案