On 16-5-2010 19:41, Sean DiZazzo wrote:
On May 14, 8:27 am, albert kao<albertk...@gmail.com> wrote:
On May 14, 11:01 am, J<dreadpiratej...@gmail.com> wrote:
On Fri, May 14, 2010 at 10:53, albert kao<albertk...@gmail.com> wrote:
C:\python>rmdir.py
C:\test\com.comp.hw.prod.proj.war\bin
['.svn', 'com']
d .svn
dotd C:\test\com.comp.hw.prod.proj.war\bin\.svn
Traceback (most recent call last):
File "C:\python\rmdir.py", line 14, in<module>
rmtree(os.path.join(curdir, d))
File "C:\Python31\lib\shutil.py", line 235, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "C:\Python31\lib\shutil.py", line 233, in rmtree
os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'C:\\test\
\com.comp.hw.prod.proj.war\\bin\\.svn\\entries'
--
http://mail.python.org/mailman/listinfo/python-list
You don't have permissions to remove the subdir or file entries in the
.svn directory...
Maybe that file is still open, or still has a lock attached to it?
I reboot my windows computer and run this script as administrator.
Do my script has a bug?
Are the directory or files marked as read only?
See this recipe and the comment from Chad Stryker:
http://code.activestate.com/recipes/193736-clean-up-a-directory-tree/
"Although it is true you can use shutil.rmtree() in many cases, there
are some cases where it does not work. For example, files that are
marked read-only under Windows cannot be deleted by shutil.rmtree().
By importing the win32api and win32con modules from PyWin32 and adding
line like "win32api.SetFileAttributes(path,
win32con.FILE_ATTRIBUTE_NORMAL" to the rmgeneric() function, this
obstacle can be overcome."
It might not be your problem, but if it is, this had me stumped for a
few weeks before I found this comment!
~Sean
You should be able to do this with os.chmod as well (no extra modules
required). I'm not sure what the mode should be though. Perhaps 0777
does the trick.
-irmen
--
http://mail.python.org/mailman/listinfo/python-list