【问题标题】:Create Folders and Subfolders with os. Code improvement使用 os 创建文件夹和子文件夹。代码改进
【发布时间】:2019-07-13 00:51:42
【问题描述】:

我想自动化一些我目前正在做的事情。我现在正在编写一个函数,它会自动为我创建所有目录和子目录。我觉得这是非常硬编码的。如果有人可以查看这个并告诉我可以在哪里以及如何改进我的代码,我将不胜感激。

提前致谢!

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')

【问题讨论】:

    标签: python operating-system directory subdirectory


    【解决方案1】:

    只需使用 os.makedirs:

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

    它将创建一个文件夹和子文件夹

    【讨论】:

    • 是的,但它没有生成多个子文件夹..所以这个答案不是我想要的
    猜你喜欢
    • 2015-06-07
    • 1970-01-01
    • 2020-07-18
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2021-07-02
    • 1970-01-01
    相关资源
    最近更新 更多