Mam naprawdę duży plik, który próbuję otworzyć z mmap i jego odmowa przyznania mi uprawnień. Próbowałem różnych flag i trybów do os.open
, ale to po prostu nie działa dla mnie.Python mmap 'Odmowa uprawnień' na Linuksie
Co robię źle?
>>> 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
>>>
(za pomocą wbudowanego w open()
prac za pośrednictwem przykład docs Pythona, ale wydaje się, aby otworzyć więcej niż jeden uchwyt do pliku zarówno odczytu trybie & zapisu. Wszystko, co potrzebne do sposobu mmap.mmap
jest numer pliku , więc nie będę zakładać, muszę stworzyć file
obiektu, stąd moje próby z użyciem os.open()
)
Głupie pytanie, ale czy masz uprawnienie do odczytu w pliku? –
Dlaczego otworzyłeś plik przez 'os.open' zamiast wbudowanego' open() '? Rozmiar? W przypadku plików ~ 50 MB (może być niewielka w stosunku do ciebie), które przeskanowałem za pomocą polecenia re, wbudowane narzędzie działało dobrze po włączeniu 'prot = mmap.PROT_READ' zgodnie z Bobby. –