from os import mkdir, chdir, getcwd
from shutil import rmtree
from pathlib import Path
def mk_dirname(dir_level, _number):
"""
возвращает строку - путь к новой папке
из текущего пути и аргументов
"""
_path = getcwd()
_dirname = '_'.join([str(dir_level), str(_number)])
return '/'.join([_path, _dirname])
def mkdirs(mkdir_level, _size):
"""
создает пирамиду папок с шириной _size
на глубину mkdir_level
"""
for number in range(_size):
dirname = Path(mk_dirname(mkdir_level, number))
old_root = Path(getcwd())
mkdir(dirname)
if mkdir_level:
chdir(dirname) # ныряем в созданную папку
mkdirs(mkdir_level-1, _size) # вызываем рекурсивно функцию
chdir(old_root) # выныриваем из папки
if __name__ == '__main__':
level = 3
size = 4
root = 'my_root'
try:
rmtree(root)
except FileNotFoundError:
pass
finally:
mkdir(root)
chdir(root)
mkdirs(level, size)
Empty trailing rows and columns are omitted.
- Иван, вы бы поконкретнее выражались как вставать, а то у нас у лошадей
ассоциативный ряд-то послабее.