首页 > 解决方案 > Python:根据同名的现有文件夹创建一个具有递增编号的文件夹

问题描述

当有人运行 python 脚本时,我想创建一个名为 ID + '1' 的文件夹,然后下次如果有人再次运行该脚本,它应该放置下一个数字,即 ID2 用于在同一目录中创建新文件夹。

我试着做一个程序

import os

path = 'C:\\Users\\Documents\\Python\\Projects'

for i in range (1,11):
    os.chdir(path)
    Newfolder= 'ID'+ str(i)
    os.makedirs(Newfolder)

但这一次创建了 10 个文件夹,但我希望在有人运行脚本时只创建一个文件夹。

标签: pythonpython-3.x

解决方案


对于每次运行脚本来创建目录,您都需要一个必须保存的变量。在您的代码中,我认为循环是无用的。每次脚本运行时,我都以这种方式解决。Delete the generated .npy file from your directory, when you want to start from 1

import os
import numpy as np
path = 'define your directory'
f='Flag_variable.npy'
try:
    Flag_variable = np.load('Flag_variable.npy')
    Flag_variable = int(Flag_variable)
    Flag_variable =Flag_variable+ 1
    np.save(f,Flag_variable)
except FileNotFoundError:
    
    np.save(f, 1)
    Flag_variable=1
    
 
os.chdir(path)
Newfolder= 'ID'+ str(Flag_variable)
os.makedirs(path+Newfolder)
print('Total Folder created', Flag_variable)


for i in range (1,11):
    pass
#     os.chdir(path)
#     Newfolder= 'ID'+ str(i)
#     os.makedirs(path+Newfolder)

推荐阅读