1") "og:type" content="webpage">1") " /> 1") "> python读文件与分割_教程_内存溢出

阅读 8

python读文件与分割,第1张

f = open("foo.txt") # 返回一个文件

对象

line = f.readline() # 调用文件的 readline()方法

line.split("\001")

while line:

print line, # 后面跟 ',' 将忽略换行符

#print(line, end = '')  # 在 Python 3 中使用

line = f.readline()

f.close()

N = 0.618

lines = open('a.txt', 'r').readlines()

lines_for_b = int(len(lines) * N)

open('b.txt','w').write(''.join(lines[:lines_for_b]))

open('c.txt','w').write(''.join(lines[lines_for_b:]))python的多线程为伪多线程,多线程并不能提高文件IO的速度,在读取文件时使用直接

读取 for line in open('文件名', 'r')  效率最高,因为此方式为直接读取,不像其它方式要把文件全部加载到内存再读取,所以效率最高。分割时文件时,提前计算好行数,把读取的每固定数量的行数存入新文件,直接读取完成,最后删除旧文件,即可实现文件分割。

示意代码:

line_count = 0

index = 0

fw = open('part'+str(index)+'.log', 'w')

for line in open('filename.log', 'r'):

    fw.write(line)

    line_count += 1

    # 假设每10000行写一个文件

    if line_count > 10000:

        fw.close()

        index += 1

        fw = open('part'+str(index)+'.log', 'w')


fw.close()

欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://outofmemory.cn/tougao/12059385.html
效率
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
找客户 找客户 一级用户组
windows installer 5.0如何修复?我是win7 64位的系统
上一篇
2023-05-20
固态硬盘怎么安装win7系统
2023-05-20

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label}