[Python-Dev] mkdir -p in python (original) (raw)
Steven D'Aprano steve at pearwood.info
Tue Jul 20 15:09:59 CEST 2010
- Previous message: [Python-Dev] mkdir -p in python
- Next message: [Python-Dev] mkdir -p in python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 20 Jul 2010 06:49:44 pm 岳帅杰 wrote:
Sorry, I don't know what is the "no constant arguments" guideline refers to. Could you give me some more explanation?
It refers to the guideline that you shouldn't have a single function with two (or more) different behaviour and an argument that does nothing but select between them. Here is a toy example:
def change_case(s, make_upper=True): if make_upper: return s.upper() else: return s.lower()
By the way, I feel adding separate functions is not quiet worthy for such a function.
I tend to agree. Perhaps all we need is a recipe in the docs:
try: os.makedirs(path) except OSError, e: if e.errno != 17: raise
I think that's all it takes to get the behaviour wanted without any false negatives, and four lines is short enough to use in-place, or if you prefer it's easy enough to wrap it in a function in your own module. Not everything needs to be a built-in.
I'm -0 on adding an argument to os.makedirs, +0 on adding a variant function to os, and +0.5 on adding the variant to the shutil module.
-- Steven D'Aprano
- Previous message: [Python-Dev] mkdir -p in python
- Next message: [Python-Dev] mkdir -p in python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]