如果文件夹已存在,如何添加具有新名称的文件夹

时间:2018-05-08 16:09:57

标签: python-3.x

正如标题所示,如果已经具有该名称,我需要将文件夹添加到具有新名称的目录中。我有这个脚本,复制的文件夹没有问题,但如果再次运行它失败,因为它已经存在。有没有办法我可以添加一个附加数字的文件夹,如“backup1”,“backup2”等。 这是脚本示例:

import shutil
MAIN_DIR = r'Y:\A'
COPY_DIR = r'Y\B\Backup1'
shutil.copytree(MAIN_DIR,COPY_DIR)

感谢您的帮助

编辑: 基本上我想要的是如何在每次运行脚本时创建一个新文件夹并复制其中的内容。例如,检查backup1是否存在,如果它然后进行backup2,然后将内容复制到该目录。如果我再次运行它,请检查backup2是否有backup3等。

1 个答案:

答案 0 :(得分:0)

经过大约9个小时的搜索后,我找到了我正在寻找的答案。

import os
index = ''
while True:
    try:
        os.makedirs('/hi'+index)
        break
    except WindowsError:
        if index:
            index = '('+str(int(index[1:-1])+1)+')' # Append 1 to number in brackets
        else:
            index = '(1)'
        pass

在这里找到答案:https://stackoverflow.com/a/24996533/8116117

基本上它会创建一个文件夹,然后在它已经存在的情况下向它附加一个数字。我将脚本的基本功能用于我自己的工作,并且首先尝试然后连续150次尝试,然后不失败。

如果这有助于您对链接中发布的人进行投票。