predict directory write permission under windows?

Christos TZOTZIOY Georgiou tzot at sil-tec.gr
Mon Dec 13 16:00:50 CET 2004


On Mon, 13 Dec 2004 22:14:03 +0800, rumours say that Qiangning Hong
<hongqn at gmail.com> might have written:

>I want to know if I can write files into a directory before I actually 
>perferm the write behavor.  I found os.access(path, os.W_OK) but it uses 
>real uid/gid to check instead of euid/egid so it doesn't fit my problem.

I didn't even know that the notion of effective uid/gid existed on
windows.  Unless that's a "service" from the Run as a different user
service, but I wouldn't know.

>I don't know how to get euid/egid under windows so I cannot use the mode 
>infomation returned by os.stat().

>Anybody give me a hint?

I won't be very helpful, but Python is mostly built around the
philosophy of asking forgiveness instead of permission (the opposite of
"look before you leap", which is what you want).  There are other
typical arguments (what if permissions change between your check and the
actual write? what if the directory disappears before writing? etc)
which you might think they do not apply to you, but they most probably
do.

In case you want that to update some form of UI where the user should
know in advance, well, create a dummy file in the directory (and
instantly delete it) and report success or failure.

However, if you insist on knowing something that could be false, pywin32
might offer more functions to check for permissions.
-- 
TZOTZIOY, I speak England very best.
"Be strict when sending and tolerant when receiving." (from RFC1958)
I really should keep that in mind when talking with people, actually...



More information about the Python-list mailing list