【问题标题】:How to add a folder with a new name if it already exists如果文件夹已存在,如何添加具有新名称的文件夹
【发布时间】:2018-10-18 15:57:49
【问题描述】:

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

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

感谢您的帮助

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

【问题讨论】:

标签: python-3.x


【解决方案1】:

经过大约 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 次,没有失败。

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

【讨论】:

    猜你喜欢
    • 2014-02-09
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2015-10-17
    相关资源
    最近更新 更多