I'm trying to write to an existing file under windows XP (home). The files are in 'My Music' which I think may be treated in some special way under XP. The relevant python code is as follows:
os.chdir(dir) os.chmod(filename, 0744) print "Okay to write = "+str(os.access(filename, os.W_OK)) afile = file(filename, 'r+b') When I run this I get the following console output: Okay to write = True Traceback (most recent call last): File "c:\temp\eyed3-0.6.6\src\test.py", line 28, in ? processFiles(root,files) File "c:\temp\eyed3-0.6.6\src\test.py", line 24, in processFiles afile = file(filename, 'r+b') IOError: [Errno 13] Permission denied: "02 - New Year's Day.mp3" If I look at the files in explorer then the read only flag is not set. If I change to cygwin and then do an ls -l I get something like: -r--r--r-- 1 Barney None 4142103 Feb 28 1999 02 - New Year's Day.mp3 If I do a chmod 644 from bash first then the python works fine? I'm at a loss to understand what is going on. Why is python returing True from os.access? Why isn't chmod doing anything? Why is cygwin able to sort the problem out? Thanks Barney p.s. I'm using ActiveState Python 2.4 -- http://mail.python.org/mailman/listinfo/python-list