अनुमति: अजगर में [एर्नो 13]


83

बस कुछ अजगर सीखना शुरू कर रहा हूँ और मुझे नीचे बताए अनुसार एक समस्या हो रही है:

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')

Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')
PermissionError: [Errno 13] Permission denied: 'E:\\Python Win7-64-AMD 3.3\\Test\

एक फ़ाइल अनुमति त्रुटि होने लगता है, अगर किसी को कुछ प्रकाश चमक सकता है यह बहुत सराहना की जाएगी।

नोट: निश्चित नहीं है कि पायथन और विंडोज फाइलें कैसे काम करती हैं लेकिन मैं व्यवस्थापक के रूप में विंडोज में लॉग इन हूं और फ़ोल्डर में व्यवस्थापक अनुमतियाँ हैं।

मैंने .exeव्यवस्थापक के रूप में चलाने के लिए गुणों को बदलने की कोशिश की है ।


7
है Testएक फ़ाइल या फ़ोल्डर?
— जोआचिम इसाकसन

1
@JoachimIsaksson यह निश्चित रूप से एक फ़ोल्डर है, जैसा कि हम त्रुटि लाइन के अंत में देख सकते हैं। वह एक उत्तर दें।
— ओलेह प्रिनपिन

टेस्ट एक फ़ोल्डर है, डॉक्यूमेंट इम निम्नलिखित पढ़ता है, मैं निम्नलिखित वाक्यविन्यास a_file = open ('E: \ Python Win7-64-AMD 3.3 \ Test \ axt), एन्कोडिंग =' utf-8 'का उपयोग करके एक पाठ डॉक्टर खोल सकता हूं ) इस सिंटैक्स aswell का उपयोग a_file = open ('E: \ Python Win7-64-AMD 3.3 \ Test', एन्कोडिंग = 'utf-8') के रूप में करने से मुझे वही त्रुटि मिलती है।
— BenniMcBeno

वैसे, विंडोज pathnames के लिए कच्चे तार का उपयोग करने के लिए याद है, या यदि एक सबफ़ोल्डर नाम के साथ शुरू करने के लिए होना चाहिए आप बुरी तरह से काट लिया कर देंगे nया bया किसी अन्य पत्र है कि एक एस्केप अनुक्रम का हिस्सा हो सकता है ...
— टिम Pietzcker

ठीक है, तो फ़ाइल एक फ्लैश ड्राइव पर थी और फ्लैश ड्राइवर FAT32 था और मेरा HD NTFS है, इसलिए यह प्रारूप संघर्ष था> <यह स्थानीय रूप से ठीक काम करता है, धन्यवाद दोस्तों
— BenniMcBeno

जवाबों:


66

जब कर;

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')

... आप एक फ़ाइल के रूप में एक निर्देशिका खोलने की कोशिश कर रहे हैं , जो (और अधिकांश गैर यूनिक्स फ़ाइल सिस्टम पर) विफल हो जाएगी।

आपके अन्य उदाहरण हालांकि;

a_file = open('E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')

यदि आपके पास सिर्फ अनुमति है तो अच्छी तरह से काम करें a.txt। आप एक कच्चे ( r-सुपरक्षित) स्ट्रिंग का उपयोग करना चाह सकते हैं , हालांकि यह सुनिश्चित करने के लिए कि आपके रास्ते में कोई भी भागने के पात्र नहीं हैं \nजिन्हें विशेष वर्णों में अनुवादित किया जाएगा।

a_file = open(r'E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')

मेरे लिए एक ठीक रोजर भाग्यशाली है जो अब सिर्फ लिनक्स पर हमेशा के लिए एलओएम> <को छोड़कर है, इसलिए आप जो सुझाव देते हैं मैं उसे करता हूं। btw टेस्ट एक फ़ोल्डर / निर्देशिका है
— BenniMcBeno

2
@bennyboy निर्भर करता है कि आप फ़ाइल के बजाय डायरेक्टरी खोलकर क्या हासिल करना चाहते हैं ...?
— जोकिम इस्कसन 8

16

मेरे लिए, मैं एक्सेल में खोली गई फाइल को लिख रहा था।


मुझे ओपन एक्सेल फाइल पर लिखने की आवश्यकता है (क्योंकि इसमें मैक्रो है जो अजगर स्क्रिप्ट को निष्पादित करता है) आप इसके चारों ओर कैसे जाते हैं?
— विजेता

एक्सेल को बंद करने से मेरा पांडा खुली (फ़ाइल नाम, "आरबी") पर विफल हो गया, लेकिन क्यों?
— नील्स टॉलस्ट्रुप

0

मुझे इस समस्या का सामना करना पड़ा जब मैंने गलती से अपने प्रॉम्प्ट मॉड्यूल को कमांड प्रॉम्प्ट के माध्यम से चलाने की कोशिश की, जबकि मेरी कार्यशील निर्देशिका C:\Windows\System32उस सामान्य निर्देशिका के बजाय थी जिससे मैं अपना पायथन मॉड्यूल चलाता हूं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.