python – 使用mmap增加文件的大小

Windows上的Python中,我可以创建一个大文件

    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()它.

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...