2010-04-29 5 views
1

J'ai essayé d'exécuter le code suivant de http://docs.python.org/library/mmap.htmlErreur lors de l'exécution fonction mmap liée en 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() 

Mais, je suis une erreur.

 
TypeError: 'module' object is not callable 

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

Qu'est-ce qui ne va pas? J'utilise python 2.6 sur Snow Leopard/Mac.

+0

Vérifiez votre configuration python cela fonctionne pour moi sur Apple et MacPhys python2.6 sur OSX 10.6.3 – Mark

+0

Un retraçage complet serait utile ici. – djc

Répondre

4

Je pense que vous faites quelque chose d'étrange appeler votre module mmap.py, et l'importation devient confuse et importer le même fichier à la place ... Essayez de changer le nom à autre chose (de préférence pas un nom de module de bibliothèque standard: p)

+0

Oui, le simple changement de nom a permis de résoudre ce problème. Merci! – prosseek

+0

vous êtes les bienvenus :-) – fortran