[Python-checkins] r59271 - python/trunk/Doc/library/mmap.rst
georg.brandl
python-checkins at python.org
Sun Dec 2 15:34:34 CET 2007
Author: georg.brandl
Date: Sun Dec 2 15:34:34 2007
New Revision: 59271
Modified:
python/trunk/Doc/library/mmap.rst
Log:
Add example to mmap docs.
Written for GHOP by Rafal Rawicki.
Modified: python/trunk/Doc/library/mmap.rst
==============================================================================
--- python/trunk/Doc/library/mmap.rst (original)
+++ python/trunk/Doc/library/mmap.rst Sun Dec 2 15:34:34 2007
@@ -86,6 +86,49 @@
*offset* may be specified as a non-negative integer offset. mmap references will
be relative to the offset from the beginning of the file. *offset* defaults to 0.
*offset* must be a multiple of the PAGESIZE or ALLOCATIONGRANULARITY.
+
+ This example shows a simple way of using :func:`mmap`::
+
+ import mmap
+
+ # write a simple example file
+ with open("hello.txt", "w") as f:
+ f.write("Hello Python!\n")
+
+ with open("hello.txt", "r+") as f:
+ # memory-map the file, size 0 means whole file
+ map = mmap.mmap(f.fileno(), 0)
+ # read content via standard file methods
+ print map.readline() # prints "Hello Python!"
+ # read content via slice notation
+ print map[:5] # prints "Hello"
+ # update content using slice notation;
+ # note that new content must have same size
+ map[6:] = " world!\n"
+ # ... and read again using standard file methods
+ map.seek(0)
+ print map.readline() # prints "Hello world!"
+ # close the map
+ map.close()
+
+
+ The next example demonstrates how to create an anonymous map and exchange
+ data between the parent and child processes::
+
+ import mmap
+ import os
+
+ map = mmap.mmap(-1, 13)
+ map.write("Hello world!")
+
+ pid = os.fork()
+
+ if pid == 0: # In a child process
+ map.seek(0)
+ print map.readline()
+
+ map.close()
+
Memory-mapped file objects support the following methods:
More information about the Python-checkins
mailing list