newbie - integer variable with leading zero for os.makedirs
jtoher at cyllene.uwa.edu.au
Tue Dec 2 06:12:57 CET 2003
I'm using python 2.3 and 2.2 on Mac OSX 10.3.1
My script creates directories from its input using os.makedirs
This from http://www.python.org/doc/2.3.2/lib/os-file-dir.html:
makedirs( path[, mode])
Recursive directory creation function. Like mkdir(), but makes
all intermediate-level directories needed to contain the leaf
The default mode is 0777 (octal)...
My text input specifies the mode as a string - '750', for example. I
want to convert the string input to an integer variable for use by
makedirs works fine when I use a literal like 0750, but my problem is
setting a variable to that kind of value. int('0750') converts the
string from ascii to integer, but loses the first zero padding.
Without the leading zero os.makedirs makes a mess of the permissions
when it creates the path.
permission = int('750', 8)
mode = oct(permission)
but this returns an octal string '0755' and os.makedirs barfs again.
It really wants an integer and it really wants that leading zero. How
can I assign a number with a leading zero to an integer variable?
Any thoughts much appreciated.
More information about the Python-list