导航:首页 > 文件教程 > python写入超大文件

python写入超大文件

发布时间:2021-12-05 03:26:39

❶ Python :如何写入指定大小 二进制数据。 例如,每次写入1KB

用"*"和\xNN. 例子:

写入1024个二进制值0x00:
file('a.bin','wb').write('\x00'*1024)

文件尾再添加1024个0x01 :
file('a.bin','ab').write('\x01'*1024)

精确 是什么意思?回 指定具体要写入的数字答1024还不够精确?

如果要保证数据实际写入,刷新IO缓冲区,调用fush或close方法

❷ python 读取大文件数据怎么快速读取

python中读取数据的时候有几种方法,无非是read,readline,readlings和xreadlines几种方法,在几种方法中,read和xreadlines可以作为迭代器使用,从而在读取大数据的时候比较有效果.

在测试中,先创建一个大文件,大概1GB左右,使用的程序如下:

[python] view plainprint?
import os.path
import time
while os.path.getsize('messages') <1000000000:
f = open('messages','a')
f.write('this is a file/n')
f.close()

print 'file create complted'

在这里使用循环判断文件的大小,如果大小在1GB左右,那么结束创建文件。--需要花费好几分钟的时间。

测试代码如下:

[python] view plainprint?
#22s
start_time = time.time()
f = open('messages','r')
for i in f:
end_time = time.time()
print end_time - start_time
break
f.close()

#22s
start_time = time.time()
f = open('messages','r')
for i in f.xreadlines():
end_time = time.time()
print end_time - start_time
break
f.close()

start_time = time.time()
f = open('messages','r')
k= f.readlines()
f.close()
end_time = time.time()
print end_time - start_time

使用迭代器的时候,两者的时间是差不多的,内存消耗也不是很多,使用的时间大概在22秒作用
在使用完全读取文件的时候,使用的时间在40s,并且内存消耗相当严重,大概使用了1G的内存。。

其实,在使用跌倒器的时候,如果进行连续操作,进行print或者其他的操作,内存消耗还是不可避免的,但是内存在那个时候是可以释放的,从而使用迭代器可以节省内存,主要是可以释放。
而在使用直接读取所有数据的时候,数据会保留在内存中,是无法释放这个内存的,从而内存卡死也是有可能的。

在使用的时候,最好是直接使用for i in f的方式来使用,在读取的时候,f本身就是一个迭代器,其实也就是f.read方法

❸ Python中怎么修改文件中的某一行内容。(文件很大,不能读取全部内容)

❹ python 读写大文件 for line in file有瓶颈吗

没有处理过那么大的文件
试试生成器吧!
看看下面的代码,处理2G多的文件,在我的电脑上用时7秒多。

❺ python 一个文件太大+内存装不下+怎么读取 mongo

Python 环境下文件的读取问题,请参见拙文Python 基础 —— 文件

这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。

1. read() 接口的问题

f = open(filename, 'rb')
f.read()12

我们来读取 1 个 nginx 的日至文件,规模为 3Gb 大小。read() 方法执行的操作,是一次性全部读入内存,显然会造成:

MemoryError...12

也即会发生内存溢出。

2. 解决方案:转换接口

❻ python 如何读取大文件

你可以不用一次读完存到内存里,可以一行一行的读,用.readline()读一行处理一行,这样不会占很多内存,多大的文件都没关系

❼ 内存不足时,python如何处理大文件

手机随着使用应用软件,肯定会产生很多垃圾缓存
所以要定期的清理垃圾缓存,就可以了
可以装个腾讯手机管家,打开清理加速功能,可以自动检测出手机垃圾缓存,一键清理

❽ 使用Python 处理大文件有什么推荐的方式么

以前弄过一些组学的文件,如果是纯文本的话不要用 for..in..语句,用 readlines 读入几千行后再用 readline 处理,如果是 utf8 之类非等长的字节编码的话先按 byte 编码读入文本必要时再解析成别的,最后把文件塞到内存盘再加个多进程。如果要求不高用 bash+awk 比 python 快很多。

❾ 如何用python快速读取几G以上的大文件

如果你没那么大的内存 解决方法有几个:

  1. 使用swap 一次性read()读取

  2. 系统层面分割大文件为数版个小于权系统内存的小文件,分别读取

  3. 使用python 按数据大小逐块读取,使用完数据即释放该部分内存:

whileTrue:
chunk_data=file_object.read(chunk_size)
ifnotchunk_data:
break
yieldchunk_data

❿ 求一个脚本,如何利用python(python 2.7)分割超大的文本文件可以指定按大小或按行数

defsplitfile(filename,sizelimit,forline=True):
size=0
i=1
out=open("%s.%04d"%(filename,i),'w')
forlineinopen(filename):
size=size+1ifforlineelsesize+len(line)
if(size>sizelimit):
size=1ifforlineelselen(line)
out.close()
i+=1
out=open("%s.%04d"%(filename,i),'w')
out.write(line)
out.close()
if__name__=='__main__':
filename=raw_input("请输入要分隔的文件名:")
forline=raw_input("输入数字0按行分隔,输入其它按大小分隔(请输入:)")
forline=(int(forline)==0)
sizelimit=int(raw_input("请输入分割文件的大小:"))
splitfile(filename,sizelimit,forline)

函数splitfile的前二个参数为文件名,分割大小,,第三个参数为True时按行分割,为False时按大小分割

阅读全文

与python写入超大文件相关的资料

热点内容
欧美床戏亲吻电影 浏览:838
妈妈的职业谁演男服务员? 浏览:576
蓝色标是哪个编程软件 浏览:330
谁的电影网 浏览:595
女同电影 浏览:513
电影詹妮前夫杰克叫啥名字 浏览:419
电脑怎么有线连接网络 浏览:290
javascript字符串转布尔 浏览:336
微信电脑给自己发文件 浏览:266
3对情侣去无人岛旅游韩国电影 浏览:922
快递小哥丁冬和浩哥 浏览:625
黛妃全部作品集百度网盘 浏览:59
桃太郎电影共几部 浏览:580
求一部电影名字 女主叫露娜 浏览:449
乐赢app怎么找到推荐人 浏览:730
win8搜索文件 浏览:530
魔兽世界法师升级快么 浏览:1000
大话西游2粤语云在线 浏览:654
电影r在线按摩 浏览:74
台湾电影打真军电影有什么片子 浏览:796

友情链接