J'essaie de trouver un moyen d'écrire un script si est-il possible d'écrire si un fichier existe mais une extension de fichier tout fichier CSV code> existe dans un répertoire, supprimez-le. Comment puis-je écrire ceci sans spécifier un nom de fichier spécifique?
py code>, supprimez-la avec
OS code>? p>
3 Réponses :
Ceci devrait fonctionner - il suffit de répertorier tous les fichiers / dossiers du répertoire, et s'ils ne se terminent pas avec .PY, supprimez-les.
for filename in os.listdir('.'): if not filename.endswith('.py'): if os.path.isfile(filename): os.remove(filename) else: os.rmdir(filename)
Bonjour, pourriez-vous incorporer une instruction ou code> pour inclure les fichiers .csv & .png en plus de .PY? Quelque chose comme:
sinon nom de fichier.endsswith ('. Py') ou non nom de fichier.endsswith ('. CSV') ou non nom de fichier.WITH ('. PNG'): Code>
et code> fonctionnerait mieux que
ou code> là (
si non (l'un de ces) code> et
sinon (ceci) et non (ceci) et non et non (ceci) code> sont logiquement équivalents. Mais oui, cela serait simple à faire.
Ah OK, donc un si ce n'est pas le nom de fichier.endswith ('. Py', '. CSV', 'PNG'): code> fonctionnerait également? Merci pour ton aide
Non, car la fonction endswith () code> ne fonctionne pas de cette façon - mais
sinon (nom_fichier.endswith ('. Py') ou nom de fichier.WITH ('. CSV') ou nom de fichier .endswith ('. png')): code> devrait fonctionner
vous pouvez faire comme ça
Vous pouvez faire quelque chose comme ceci:
import os root = "e:/" for root, dirs, files in os.walk(root): for file in files: if file.endswith('.csv'): print("removed: " + os.path.join(root, file) ) os.remove( os.path.join(root, file) )
Promenez-vous dans chaque fichier et voyez si un
findswith ('. CSV') code>
.Lower (). Finwith (". CSV") code> en cas de .csv