首页 > 解决方案 > 如何复制两个mmap之间的特定范围?

问题描述

怎么可能只通过切片将一个 mmap 的特定部分复制到另一个 mmap 中?

#!/usr/bin/python3

import mmap

a = mmap.mmap(-1, 5)
b = mmap.mmap(-1, 5)

a[0:] = b'12345'
b[0:] = b'67890'

a[2:6] = b[0:4]

print(a[:])

有没有办法通过切片复制这样的范围?如果这不可能,还有哪些其他解决方案?

标签: pythonslicemmap

解决方案


我认为您一定会遇到以下错误:

IndexError:mmap 切片分配的大小错误

更改a[2:6] = b[0:4]

a[1:5] = b[0:4]

输出:

b'16789' # print(a[:])

推荐阅读