Si j'ai un répertoire qui existe déjà, appelé Test. Comment puis-je incrémenter le nom du répertoire par 1, si j'essaie de créer un répertoire avec le même nom ?
Réponse
Trop de publicités?Vous pouvez utiliser soit le Récursif ou le Boucle code.
Notas:
- Le code récursif peut entraîner une erreur ( profondeur maximale de récursion dépassée )
- Code en boucle, fonctionne bien et sans erreur
Code | Récursif
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()
Code | Boucle
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()
Sortie