[Discuss] File permissions in Python
Deryk Barker
dbarker at camosun.bc.ca
Sat Aug 5 09:57:41 PDT 2006
Adam Parkin wrote:
> Continuing in the questions for the Python gurus series of e-mails....
> =8-p
>
> I've been banging my head for a little bit trying to figure out a
> quick and easy way to read a file's permissions inside of a Python
> script. What I want to do is be able to tell the rwx permissions
> (ideally for all groups). I have found the os.stat function, and it's
> ST_MODE field, but this returns a decimal number for all permissions
> (not just rwx for the three groups). I suppose I could figure out the
> permissions from the number via some and'ing and or'ing, but is there
> not some easier way?
>
> If it helps: what I'm working on is taking all of the exercise
> solutions to the problems in the Learning Perl book and rewriting them
> in Python to help learn the langauge. The chunk of code I'm stuck on
> right now is this (in Perl):
>
> $x = "foobar.txt"
> print "$x is: ", ((-R $x) ? "readable " : ""),
> ((-W $x) ? "writeable " : ""),
> ((-x $x) ? "executable\n" : "\n");
The exact equivalent of what you're doing here would seem to be the
os.access function.
name = 'foobar.txt'
print name, 'is',
if os.access (name, os.R_OK):
print 'readable',
if os.access (name, os.W_OK):
print 'writeable',
if os.access (name, os.X_OK):
print 'executable',
print
More information about the Discuss
mailing list