Py: Создайте иерархию папок с вложенными папками

Вопрос: Я пытаюсь автоматизировать создание структуры папок проекта со следующим: ..Data ..DataGPS ..DataTabular ..DataWorking ..Documents ..DocumentsDocumentation ..DocumentsPics_Graphics ..Products И, усложняя вещи, это то, с чем я пришел... что... работает... но, конечно, есть способ просто включить мою иерархию в список и пропустить ее, сохраняя при этом "if exist skip " состояние? Я просмотрел файл https://codereview.stackexchange.com/questions/28715/script-for-creating-a-hairsp; который

Вопрос:

Я пытаюсь автоматизировать создание структуры папок проекта со следующим:

..Data ..DataGPS ..DataTabular ..DataWorking ..Documents ..DocumentsDocumentation ..DocumentsPics_Graphics ..Products

И, усложняя вещи, это то, с чем я пришел… что… работает… но, конечно, есть способ просто включить мою иерархию в список и пропустить ее, сохраняя при этом “if exist skip ” состояние? Я просмотрел файл https://codereview.stackexchange.com/questions/28715/script-for-creating-a-hairsp; который имеет аналогичный результат, но я не могу распутать предоставленный список в этом случае, который основан на счетчике.

import os import errno data = ‘C://temp//Pro_Folder_Structure//Data’ try: os.makedirs(data) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % data) datagps = ‘C://temp//Pro_Folder_Structure//Data//GPS’ try: os.makedirs(datagps) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % datagps) dataworking = ‘C://temp//Pro_Folder_Structure//Data//Working’ try: os.makedirs(dataworking) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % dataworking) datatab = ‘C://temp//Pro_Folder_Structure//Data//Tabular’ try: os.makedirs(datatab) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % datatab) docs = ‘C://temp//Pro_Folder_Structure//Documents’ try: os.makedirs(docs) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % docs) document = ‘C://temp//Pro_Folder_Structure//Documents//Documentation’ try: os.makedirs(document) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % document) pics = ‘C://temp//Pro_Folder_Structure//Documents//Pics_Graphics’ try: os.makedirs(pics) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % pics) prod = ‘C://temp//Pro_Folder_Structure//Products’ try: os.makedirs(prod) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % prod) Лучший ответ:

Вы можете использовать цикл for. В зависимости от того, насколько глубоки ваши каталоги и по соображениям практичности, вы также можете использовать вложенный цикл.

Таким образом, вы можете просто сделать:

directories = [‘Data’,’GPS’,’Data//GPS’,….,’Products’] basedirectory = ‘C://temp//Pro_Folder_Structure//’ for (i in range (len (directories)): newDir = basedirectory + directories[i] try: os.makedirs(newDir) except OSError as exception: if exception.errno != errno.EEXIST: raise else: print («nBE CAREFUL! Directory %s already exists.» % newDir)

Оцените статью
Добавить комментарий