Error when running mmap related function in python 2.6

I tried to run the following code from

import mmap

# write a simple example file
with open("hello.txt", "wb") as f:
    f.write("Hello Python!\n")

with open("hello.txt", "r+b") 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
    print map.readline()  # prints "Hello  world!"
    # close the map

But, I got an error.

TypeError: 'module' object is not callable

module body in at line 9
map = mmap.mmap(f.fileno(), 0)

What's wrong with this? I use python 2.6 on Snow Leopard/Mac.


I think you're doing something weird calling your module, and the import is getting confused and importing the same file instead... Try changing the name to something else (preferably not a standard library module name :p)