J'ai un très gros fichier que j'essaie d'ouvrir avec mmap et qui me donne la permission refusée. J'ai essayé différents drapeaux et modes pour le os.open
mais ça ne fonctionne tout simplement pas pour moi.Python mmap 'Autorisation refusée' sous Linux
Qu'est-ce que je fais mal?
>>> import os,mmap
>>> mfd = os.open('BigFile', 0)
>>> mfile = mmap.mmap(mfd, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
mmap.error: [Errno 13] Permission denied
>>>
(en utilisant le construit en open()
fonctionne via l'exemple python docs, mais il semble ouvrir plus d'une poignée dans le fichier à la fois en mode lecture & d'écriture. Tout ce que je besoin pour la méthode mmap.mmap
est le numéro de dossier , donc je ne suppose que je dois créer un objet file
, d'où ma tentative d'utiliser os.open()
)
Question idiote, mais avez-vous une autorisation de lecture sur le fichier? –
Pourquoi avez-vous ouvert le fichier via 'os.open' plutôt que dans' 'open()'? Taille? Pour ~ 50 Mo de fichiers (peut-être petit par rapport à vous) que j'ai parcouru avec re, le builtin a bien fonctionné pour moi après avoir incorporé 'prot = mmap.PROT_READ' selon Bobby. –