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