[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