Skip to content

Instantly share code, notes, and snippets.

@xflr6
Last active October 11, 2025 09:30
Show Gist options
  • Select an option

  • Save xflr6/f70aedb1ee274ae9410b to your computer and use it in GitHub Desktop.

Select an option

Save xflr6/f70aedb1ee274ae9410b to your computer and use it in GitHub Desktop.
More convenient context manager for mmap.mmap
"""More convenient context manager for mmap.mmap."""
from collections.abc import Iterator
import contextlib
import mmap
import os
@contextlib.contextmanager
def memorymapped(path: os.PathLike[str] | str)-> Iterator[mmap.mmap]:
"""Return a block context with `path` as memory-mapped file."""
with (open(path, mode='rb') as f,
mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as m):
yield m
if __name__ == '__main__':
with memorymapped('memorymapped.py') as data:
print(data[247:304])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment