os.access() problem

Larry Bates larry.bates at websafe.com
Tue Jul 11 13:48:49 EDT 2006


Phil Schmidt wrote:
> I just got a new PC with Windows XP, and I want to run Leo on it. Leo
> uses the os.access() function to check for read-only files. For some
> reason, os.access(<filename>, os.W_OK) always returns false.
> 
> I wrote a 2-liner Python script to just test os.access on any file.
> I have tried this with Python 2.4 and 2.5b1.
> I have uninstalled and re-installed Python and Leo.
> I have fiddled with file permissions on the target files as well as on
> the Python installation itself.
> I have used cacls to check the access control lists (and although I'm
> not exactly certain what to do with this information, it appears to be
> ok - I think).
> 
> None of the above has helped me to identify or fix the problem.
> 
> A scan of the Python newsgroup suggests that os.access() may not be the
> best way to check for read-only, but the discussion is a bit deeper
> than my understanding, so I'm not sure there's anything to it in this
> case.
> 
> I realize this must be a Windows permissions thing, but I just can't
> figure it out. I'm no expert in Windows security beyond basic
> permissions, so I could be missing something simple. Can anyone offer
> any suggestions?
> 
> Thanks,
> Phil
> 
I just tested on Windows XP with ActiveState Python 2.4.1 and it works
as expected.

>>> import os
>>> os.access(r'c:\output.txt', os.W_OK)
True

Changed file to read-only

>>> os.access(r'c:\output.txt', os.W_OK)
False
>>>

FYI, Larry Bates



More information about the Python-list mailing list