Le code suivant me permet de créer un répertoire s'il n'existe pas déjà.
dir = 'path_to_my_folder'
if not os.path.exists(dir):
os.makedirs(dir)
Le dossier sera utilisé par un programme pour écrire des fichiers texte dans ce dossier. Mais je veux commencer avec un tout nouveau dossier vide la prochaine fois que mon programme s'ouvrira.
Existe-t-il un moyen d'écraser le dossier (et d'en créer un nouveau, avec le même nom) s'il existe déjà?
import os
import shutil
dir = 'path_to_my_folder'
if os.path.exists(dir):
shutil.rmtree(dir)
os.makedirs(dir)
import os
import shutil
path = 'path_to_my_folder'
if not os.path.exists(path):
os.makedirs(path)
else:
shutil.rmtree(path) # Removes all the subdirectories!
os.makedirs(path)
Et ça? Jetez un œil à la bibliothèque shutil de Python
!
os.path.exists(dir)
la vérification est recommandée mais peut être évitée en utilisant ignore_errors
dir = 'path_to_my_folder'
shutil.rmtree(dir, ignore_errors=True)
os.makedirs(dir)
Dis le
dir = 'path_to_my_folder'
if not os.path.exists(dir): # if the directory does not exist
os.makedirs(dir) # make the directory
else: # the directory exists
#removes all files in a folder
for the_file in os.listdir(dir):
file_path = os.path.join(dir, the_file)
try:
if os.path.isfile(file_path):
os.unlink(file_path) # unlink (delete) the file
except Exception, e:
print e
try:
os.mkdir(path)
except FileExistsError:
pass
Voici une version EAFP (plus facile à demander pardon que permission):
import errno
import os
from shutil import rmtree
from uuid import uuid4
path = 'path_to_my_folder'
temp_path = os.path.dirname(path)+'/'+str(uuid4())
try:
os.renames(path, temp_path)
except OSError as exception:
if exception.errno != errno.ENOENT:
raise
else:
rmtree(temp_path)
os.mkdir(path)