On 25/08/2010 09:28, Albert-Jan Roskam wrote:
Hi,

Hi I'm using os.access to do a preliminary check to see if I have RW access, but
it seems to be unreliable. In a dir for which I have only read access, os.access
also says I have write access. This is under Windows 2000. I could of course use
a try-except and catch the IOError, but I'd like to know why the code below
isn;t working.

     def isAcccessible(self):
         if os.access(self.path, os.R_OK) and os.access(self.path, os.W_OK):
             return True
         else:
             return False

os.access is effectively meaningless under Windows, especially
against directories. It only checks the read-only flag (which
doesn't mean anything for directories anyway).

There is a long-open issue here:

  http://bugs.python.org/issue2528

which I am half-minded to close although I could be
persuaded to pursue it if anyone were interested enough.
On the other hand, os.access checks are open to race-conditions
in any case, so you might simply be better off with a
try-except block as you suggest.

If you want more information I can explain further but unless you
want to dive into the Windows API and use AccessCheck -- which is
what that patch is doing -- then I suggest you use try-except

TJG
_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to