使用参数名称创建一个新文件夹而不会覆盖现有结果

时间:2018-07-27 18:07:18

标签: python python-3.x

我正在使用参数运行多个控制台,并将我的模型和结果保存在具有以下命名约定的文件夹中:

mlp_model_1

有时,我只是在相同条件下重新运行结果,但是我需要将结果另存为其他名称。因此,我知道我必须使用os.path.exists(path)检查现有目录,但是如何为相同的参数命名新文件夹。

当前,我有两个功能可以覆盖具有相同名称的文件夹。

def check_dir(path, else_create=False):
    if os.path.isdir(path):
        shutil.rmtree(path)
        print('Delete dir')
    if else_create:
        os.makedirs(path)

def create_dir(path, else_create=False):
    if not os.path.isdir(path):
        print('Create new')
        os.makedirs(path)

1 个答案:

答案 0 :(得分:1)

为什么复制文件时操作系统不起作用-在文件后添加数字?

def create_dir(path, else_create=False):
    if(os.path.isdir(path) is False):
        print('Creating new directory: New_model')
        call(["mkdir", path])
    else:
        i = 2
        while(os.path.isdir(path + str(i))):
            i += 1
        print('Creating a new directory: New_model')
        call(["mkdir", path + str(i)])

此方法背负于您编写的方法:首先,它检查文件夹是否已存在。如果没有,它将创建目录。那就是你已经拥有的。我已经添加了有关文件夹不存在的代码:它以一个数字开头,起始于2,并将其附加到文件夹名称中。如果存在,它将再次增加编号,依此类推,直到该文件夹​​不存在,因此可以创建该文件夹。

所以您最终会得到一组类似于以下的文件夹:

mlp_lstm_model
mlp_lstm_model2
mlp_lstm_model3
...