पर मेरे पास वास्तव में बड़ी फ़ाइल है जिसे मैं एमएमएपी के साथ खोलने की कोशिश कर रहा हूं और मुझे अनुमति देने से इनकार कर रहा है। मैंने os.open
पर विभिन्न झंडे और मोडों का प्रयास किया है, लेकिन यह सिर्फ मेरे लिए काम नहीं कर रहा है।लिथॉन एमएमएपी 'अनुमति अस्वीकार' लिनक्स
मैं क्या गलत कर रहा हूं?
>>> 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
>>>
(का उपयोग कर अजगर डॉक्स उदाहरण के माध्यम से काम करता है open()
में बनाया गया है, लेकिन यह फाइल करने के लिए एक से अधिक संभाल खोलने के लिए दोनों को पढ़ने & राइट मोड में लगता है। सभी मैं mmap.mmap
विधि के लिए की जरूरत है फ़ाइल नंबर , इसलिए मैं मैं एक file
वस्तु बनाने की जरूरत मान नहीं होता; os.open()
का उपयोग करने में मेरी प्रयास)
बेवकूफ सवाल, लेकिन क्या आपके पास फ़ाइल पर पढ़ने की अनुमति है? –
आपने निर्मित 'ओपन()' के बजाय 'os.open' के माध्यम से फ़ाइल क्यों खोली? आकार? ~ 50 एमबी फाइलों के लिए (आपके लिए छोटा सा सापेक्ष हो सकता है) जिसे मैंने फिर से स्कैन किया था, बॉबी ने बॉबी के अनुसार 'prot = mmap.PROT_READ' को शामिल करने के बाद मेरे लिए ठीक काम किया था। –