Создавайте папки и подпапки с помощью os.Улучшение кода - PullRequest
0 голосов
/ 19 февраля 2019

Я хочу автоматизировать некоторые вещи, над которыми я сейчас работаю.Я сейчас пишу функцию, которая автоматически создает мне все каталоги и подкаталоги.Я чувствую, что это очень жестко запрограммировано ... Я был бы признателен, если бы кто-то мог просмотреть это и сказать мне, где и как я мог бы улучшить свой код.

Заранее спасибо!

def create_dirs(MD,home_team,away_team,info):
    folders = ["Stats","Press","Info"]
    gamefolder = (home_team+" vs "+away_team+" ("+info+")")
    infofolder = ("Info-Pictures "+"("+info+")")
    path = (r"C:\path\to\destination\")
    newpath =(r"C:\path\to\destination\\"+MD)
    gamedir = (r"C:\path\to\destination\\"+MD+r"\\"+gamefolder)
    infodir = (r"C:\path\to\destination\\"+MD+r"\\"+infofolder)

    try:
        os.chdir(path)
        if not os.path.exists(MD):
            os.makedirs(MD)
    except OSError:
        print('Error: Creating directory:' + MD)
    try:
        os.chdir(newpath)
        os.mkdir(gamefolder)
        os.mkdir(infofolder)
    except OSError:
        print('Error: Creating directory:' + gamefolder)
    try:
        for folder in folders:
            os.mkdir(os.path.join(gamefolder,folder))
    except OSError:
        print('Error: Creating directory. Directory/ies already exists')
    try:
        os.chdir(infodir)
        os.mkdir("Before")
        os.mkdir("After")
    except OSError:
        print('Error: Creating directory. Directory/ies already exist')

1 Ответ

0 голосов
/ 19 февраля 2019

Просто используйте os.makedirs:

import os
os.makedirs("C:\\Users\\<username>\\Desktop\\asd\\asd\\asd\\asd")

Это создаст папки и подпапки

...