import os
import time
import mmapfilename = 'test.txt'#如果不存在,创建。
if not os.path.exists(filename):open(filename, 'w')print(os.path.isdir(filename))
if os.path.isfile(filename):print(time.ctime(os.path.getctime(filename)))fd = os.open(filename, os.O_RDWR)
m = mmap.mmap(fd, 50, access=mmap.ACCESS_WRITE)  # 1024字节的文件。
m.seek(2)
buf1 = bytes(b'Zhang')
m[2:len(buf1)+2] = buf1buf2 = b'Phil'm.seek(20)  # 定位写入的位置。
m.write(buf2)  # 写入字节数据。
m.close()fd = os.open(filename, os.O_RDWR)
m = mmap.mmap(fd, 50, access=mmap.ACCESS_READ)
m.seek(20)
buf3 = m.read(len(buf2))
m.close()
print(list(buf3))

操作后的test.txt文件内容:

  Zhang             Phil                          

Python内存映射文件读写相关推荐

  1. Win32汇编——内存映射文件

    1.概念.好处及原理:书P374 2.内存映射文件是多个进程进行通信的最有效的方法 3.使用函数: 创建内存映射文件对象:CreateFileMapping ,决定是在磁盘文件上建立内存映射文件还是在 ...

  2. 【JavaNIO的深入研究4】内存映射文件I/O,大文件读写操作,Java nio之MappedByteBuffer,高效文件/内存映射...

    内存映射文件能让你创建和修改那些因为太大而无法放入内存的文件.有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问.这种解决办法能大大简化修改文件的代码. file ...

  3. 使用内存映射文件来提高你程序的性能

    本人在学习<WINDOWS核心编程>的时候对JEFFREY大师提到的一个小程序写了两个版本来比较性能,该程序的原始需求是这样的:对一个大文件进行倒序,也就是将一个文件头变成尾,尾变成头. ...

  4. MongoDB内存映射文件

    2019独角兽企业重金招聘Python工程师标准>>> Mongodb源码分析--内存文件映射(MMAP) 内存映射文件原理探索 Linux 内存映射函数 mmap()函数详解 Li ...

  5. java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...

    进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...

  6. Windows核心编程 第十七章 -内存映射文件(下)

    17.3 使用内存映射文件 若要使用内存映射文件,必须执行下列操作步骤: 1) 创建或打开一个文件内核对象,该对象用于标识磁盘上你想用作内存映射文件的文件. 2) 创建一个文件映射内核对象,告诉系统该 ...

  7. Java基础:JavaNIO 之 内存映射文件原理

    1. 前言 最近研究Java中内存映射I/O.Java类库中的NIO中的内存映射文件MappedByteBuffer,相对于Java I/O是一个新的功能.特把适合用于处理大文件,在对大文件处理的时候 ...

  8. C#内存映射文件学习总结

    C#内存映射文件学习 http://www.cnblogs.com/flyant/p/4443187.html 内存映射文件是由一个文件到进程地址空间的映射. C#提供了允许应用程序把文件映射到一个进 ...

  9. java流与文件——内存映射文件

    [0]README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件--内存映射文件 的相关知识: 0.2)内存映射文件的目的是: 提高访问速度, 缓冲区Bu ...

  10. 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件

    本文背景: 在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用:根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制. 本 ...

最新文章

  1. 菜鸟学习javascript实例教程
  2. insert执行时oracle如何处理,ORACLE中Insert时字符处理
  3. 报错解决方案:ERROR: Cython.Build.cythonize not found.
  4. 怪事,硬盘上的FC3_cd1的ISO莫名其妙被改变了
  5. 绝了!电容这样理解真的简单!
  6. php如何禁用浏览器的缓存,php如何禁止浏览器使用缓存页面
  7. 携手助力新型智慧城市建设和科技创新发展
  8. Spring包名代码提示
  9. gitlab批量新增用户
  10. Javascript快速排序
  11. Linux rm , cp, mv 命令
  12. 华为设备OSPF配置命令
  13. CMOS集成电路设计基础(孙肖子版)第二章课后答案
  14. 今日头条php笔试题,2017年今日头条笔试题目
  15. Java 选择排序法
  16. Bootstrap4与Bootstrap3的区别
  17. Java程序员之从菜鸟到职场高手的必看...
  18. 智能电子眼镜可监控健康,可进行脑机接口视觉刺激,控制视频游戏
  19. 嵌入式linux备份flash,嵌入式Linux裸机开发(十一)——Nandflash
  20. ## 使用flex布局(多行,一行三个),换行后最后一行左右对齐问题

热门文章

  1. GBase 8s 常用管理员命令汇总-onstat(下)
  2. Unity3D Asset文件导出3DMax 可编辑格式
  3. python3 pyv8 linux,Python3.5安装PyV8
  4. 随机前沿方法和数据包络分析
  5. MATLAB编程:绘制折线图 以及 画图的一些小技巧
  6. Jsonp 原理简述
  7. NGOD client 完成感想
  8. Python 音频调整音量(附代码) | Python工具
  9. 黑苹果hd630显存7m_一次黑苹果的折腾记录——修改缓冲帧,解决显存只有7M,正确驱动Intel核显...
  10. 会员管理系统单机版哪里有?