我试图创建以下目录:递归在Python中创建的目录,而跳过现有目录
/autofs/homes/008/gwarner/test1/test2/
/autofs/homes/008/gwarner/test1/test3/
其中/autofs/homes/008/gwarner/
已经存在,我没有对所有的/autofs/homes/008/
写访问。当我尝试跑步时:
dir = '/autofs/homes/008/gwarner/test/test1/test4/test5/'
for root, dirs, files in os.walk(dir, topdown = True):
print root
我根本没有输出。
为了让每个人都更容易,我截断了我的问题中的路径。实际上,我需要制作数百个目录,比上面提到的要复杂得多。话虽如此,手动键入所有的路径是不实际的。我意识到我可以编写一些代码来分割路径,并自动执行你所说的内容,但是我觉得在os中可能有一个函数。 –
然后你想os.walk。同样的原理: 对于要添加路径的每个目录,首先检查它是否是一个目录,然后检查您创建的目录是否已经存在,如果该目录不存在,则创建它。 os.path.exists回答你的问题。但是,它是不完整的,除非你知道你正在编写的每个文件夹的dirname是100%确定的目录。 –
那会怎样? os.walk需要一个现有的目录,对吧?我输入的是我需要创建的目录的绝对路径,包括沿途不存在的目录。如果我将它传递给os.walk(),我不会因为它不存在而得到一个错误? –