Comment puis-je supprimer le contenu d'un dossier local en Python.
Le projet actuel est pour Windows mais j'aimerais voir *nix aussi.
Si vous travaillez avec un très grand répertoire, et particulièrement un répertoire réseau sous Windows, et que vous pouvez contrôler l'environnement dans lequel ce programme s'exécute, il peut être intéressant d'utiliser la fonction "os.scandir(folder)" de Py3.5 au lieu de listdir. La syntaxe est assez différente après cela, mais assez simple à mettre en œuvre ; je serai heureux de la poster si d'autres personnes le souhaitent.
19 votes
Pour *nix, pour être honnête, j'utiliserais simplement
os.system('rm -rf folder')
11 votes
@TilakMaddy C'est une façon terrible, surtout si vous prenez le nom du dossier comme entrée utilisateur. Malheureusement, nous ne pouvons pas décoter les commentaires.
3 votes
Le commentaire de @TilakMaddy est une solution indolore, mais il n'aborde pas la partie "contenu".
os.system('rm -rf folder/*')
est la solution, en supposant qu'il n'y ait pas de.*
le contenu...0 votes
Nous devrions ajouter un nouvel argument dans
shutil.rmtree
(ex ignore_main_folder/preserve_main_folder). Ceci est souvent utile lorsque vous n'avez pas le droit de créer le dossier principal.