अजगर में, 'प्रवेश निषेध है' जब कि केवल पढ़ने के लिए फ़ाइल है किसी फ़ोल्डर के ऊपर shutil.rmtree
चल रहा है, निम्न अपवाद छपा है:shutil.rmtree विंडोज पर विफल रहता है के साथ
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\Python26\lib\shutil.py", line 221, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "C:\Python26\lib\shutil.py", line 219, in rmtree
os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'build\\tcl\\tcl8.5\\msgs\\af.msg'
संवाद फ़ाइल गुण में खोज रहे हैं मैंने देखा कि af.msg
फ़ाइल केवल पढ़ने के लिए सेट है।
तो सवाल यह है: सरल वैकल्पिक हल/इस समस्या को हल पाने के लिए ठीक क्या है - कि मेरा इरादा rm -rf build/
की लेकिन Windows पर एक बराबर करना है दिया? इस सवाल से बाहर - (unxutils या cygwin की तरह तीसरे पक्ष के उपकरणों का उपयोग किए बिना के रूप में इस कोड को एक नंगे विंडोज पर चलने के लिए लक्षित है अजगर 2.6 के साथ स्थापित w/PyWin32 स्थापित)
'shutil.rmtree' फ़ाइलों को हटाने के लिए' os.remove' का उपयोग करता है। 'os.remove' केवल पढ़ने योग्य फ़ाइलों को ठीक करता है (कम से कम यूनिक्स पर)। यदि osremove' उपयोग में है, तो विंडोज़ पर फ़ाइल को हटा नहीं सकता है। – jfs
[पाइथन में निर्देशिका को हटाने] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1889597/deleting-directory-in-python) – mozzbozz