前端之家收集整理的这篇文章主要介绍了
python – 使用mmap增加文件的大小,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Windows上的@L_301_1@中,我可以创建一个大文件
from mmap import mmap
f = open('big.file','w')
f.close()
f = open('big.file','r+')
m = mmap(f.fileno(),10**9)
现在big.file是(约)1千兆字节.但是,在Linux上,这将返回ValueError:mmap length大于文件大小.
有没有办法在Linux上获得与Windows相同的行为?也就是说,为了能够使用mmap增加文件的大小?
最佳答案
至少在POSIX系统上,mmap()不能用于
增加(或减少)
文件的大小. mmap()的
功能是将内存映射到
文件的一部分.你请求映射的东西实际上应该存在是合乎逻辑的!坦率地说,我真的很惊讶你实际上可以在MS Windows下做到这一点.
如果你想增长一个文件,只需在你mmap()之前ftruncate()它.