Advertisement
Dmitry_Dronov

tut_8

Mar 16th, 2016
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.66 KB | None | 0 0
  1. # coding: cp1251
  2. import os
  3. #
  4. path = r"C:\top_pr" # буква r - raw - означает что путь чистый без спецсимвола \t который обозначает табудяцию
  5. projectname = "project1" # имя корневой папки проекта
  6. # имена вложенных папок проекта
  7. # прямой слэш экранирует знак перехода на новую строку
  8. folders = \
  9. [
  10. ['input', [
  11.     ['src', []],
  12.     ['doc', []],
  13.     ]
  14. ],
  15. ['output', [] ],
  16. ['scenes', [] ],
  17. ['assets', [] ]
  18. ]
  19. #
  20. def createFolder(path): # вместо повторения - функция
  21.     if not os.path.exists(path):
  22.         os.mkdir(path)
  23. #
  24. # рекурсия - вызов функции самой себя
  25.  
  26. # самый простой пример - когда функция будет вызывать сама себя до бесконечности, но нам важно контролировать функцию
  27. # def test():
  28. #   test()
  29. def build(root, data):
  30.     if data:
  31.         for d in data:
  32.             name = d[0]
  33.             path = os.path.join(root, name)
  34.             createFolder(path)
  35.             build(path, d[1])
  36.  
  37.  
  38. fullpath = os.path.join(path,projectname) # собираем имя полного пути
  39. print fullpath
  40. if not os.path.exists(fullpath): # метод проверки существования корневой папки, если путь не существует, то
  41.     os.mkdir(fullpath) # создаём корневую папку проекта
  42. # for f in folders:
  43. #   folder = os.path.join(fullpath, f)
  44. #   print folder
  45. #   createFolder(folder) # оптимизированный код
  46.  
  47. build(fullpath, folders)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement