Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: cp1251
- import os
- #
- path = r"C:\top_pr" # буква r - raw - означает что путь чистый без спецсимвола \t который обозначает табудяцию
- projectname = "project1" # имя корневой папки проекта
- # имена вложенных папок проекта
- # прямой слэш экранирует знак перехода на новую строку
- folders = \
- [
- ['input', [
- ['src', []],
- ['doc', []],
- ]
- ],
- ['output', [] ],
- ['scenes', [] ],
- ['assets', [] ]
- ]
- #
- def createFolder(path): # вместо повторения - функция
- if not os.path.exists(path):
- os.mkdir(path)
- #
- # рекурсия - вызов функции самой себя
- # самый простой пример - когда функция будет вызывать сама себя до бесконечности, но нам важно контролировать функцию
- # def test():
- # test()
- def build(root, data):
- if data:
- for d in data:
- name = d[0]
- path = os.path.join(root, name)
- createFolder(path)
- build(path, d[1])
- fullpath = os.path.join(path,projectname) # собираем имя полного пути
- print fullpath
- if not os.path.exists(fullpath): # метод проверки существования корневой папки, если путь не существует, то
- os.mkdir(fullpath) # создаём корневую папку проекта
- # for f in folders:
- # folder = os.path.join(fullpath, f)
- # print folder
- # createFolder(folder) # оптимизированный код
- build(fullpath, folders)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement