增加目录名称(如果已经存在)

时间:2019-09-02 04:23:20

标签: python directory

如果我已经存在一个名为Test的目录。如果尝试创建具有相同名称的目录,如何将目录名称加1?

1 个答案:

答案 0 :(得分:3)

您可以使用递归循环代码。

注释:

  • 递归代码可能会导致错误(最大递归深度超过
  • 循环代码,工作正常且无错误

代码|递归

import os

def generateDirectoryName(name, x=0):
    dir_name = (name + (' ' + str(x) if x is not 0 else '')).strip()
    if not os.path.exists(dir_name):
        os.mkdir(dir_name)
        return dir_name
    else:
        return generateDirectoryName(name, x + 1)

def createDirectory():
    user_input = input("Enter name to create directory: ")
    generateDirectoryName(user_input)

def main():
    cwd = os.getcwd()
    createDirectory()

main()

代码|循环

import os

def generateDirectoryName(name, x=0):
    while True:
        dir_name = (name + (' ' + str(x) if x is not 0 else '')).strip()
        if not os.path.exists(dir_name):
            os.mkdir(dir_name)
            return dir_name
        else:
            x = x + 1

def createDirectory():
    user_input = input("Enter name to create directory: ")
    generateDirectoryName(user_input)

def main():
    cwd = os.getcwd()
    createDirectory()

main()

输出

Code Output