2010-04-29 3 views
1

Я попытался запустить следующий код из http://docs.python.org/library/mmap.htmlОшибка при выполнении функции ММАПА, связанной в Python 2.6

 
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 
    map.seek(0) 
    print map.readline() # prints "Hello world!" 
    # close the map 
    map.close() 

Но я получил сообщение об ошибке.

 
TypeError: 'module' object is not callable 

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

Что случилось с этим? Я использую python 2.6 на Snow Leopard/Mac.

+0

Проверьте свою настройку python, она работает для меня на Apple и macports python2.6 на OSX 10.6.3 – Mark

+0

Здесь будет полезен полный трассировка. – djc

ответ

4

Я думаю, что вы делаете что-то странное, вызывая свой модуль mmap.py, и импорт становится запутанным и импортирует тот же файл вместо ... Попробуйте изменить имя на что-то другое (желательно не стандартное имя библиотечного модуля: p)

+0

Да, просто переименование решило эту проблему. Благодаря! – prosseek

+0

добро пожаловать :-) – fortran