import os
dir ="E:\\test"
files = os.listdir(dir)for file in files:if file.endswith(".txt"):
os.remove(os.path.join(dir,file))
Ou
import os
[os.remove(os.path.join("E:\\test",f))for f in os.listdir("E:\\test")if f.endswith(".txt")]
Je préfère écrire: carte(os.supprimer, [os.chemin d'accès.join("E:\\test",f)) de f en os.listdir("E:\\test") si f.endswith(".txt")]) belle solution, woks incroyablement et est multi-plateforme.
De la façon dont vous le faire est d'utiliser le glob module:
import glob
import os
for fl in glob.glob("E:\\test\\*.txt"):#Do what you want with the file
os.remove(fl)
cela n'a pas fonctionné... J'ai juste couru sur ma machine et il a bien fonctionné. Êtes-vous sûr que vous avez la permission de supprimer ces fichiers? Qu'advient-il si vous effectuez les opérations suivantes sur la commande promt: E: <br />cd test <br />del [nom de fichier]? Évidemment remplacer "[nom de fichier]" avec le nom d'un fichier. Est-il une raison à l'aide de la boule module est la méthode préférée de plus de la accepté de répondre? (En passant par voix sur répondre) Quels avantages a-t-elle sur l'autre réponse? Elle vous permettent d'utiliser le * au lieu de if file.endswith(".txt"): dans la accepté de répondre.
Vous pouvez utiliser popen, ainsi si vous voulez le faire en moins de lignes
from subprocess importPopen
proc =Popen("del E:\test\*.txt",shell=False)
Mieux utiliser les bibliothèques Python, car il rend votre code multi-plateforme, est moins cassant et donne riches exceptions. Si la brièveté est important, vous atteindre le même dans une ligne à l'aide de Python natif libs avec: #import glob,os ; [os.remove(x) for x in glob.glob("E:\test\*.txt")]
Un peu verbeux l'écriture d'une autre méthode
Ou
belle solution, woks incroyablement et est multi-plateforme.
OriginalL'auteur blindjesse
De la façon dont vous le faire est d'utiliser le
glob
module:J'ai juste couru sur ma machine et il a bien fonctionné. Êtes-vous sûr que vous avez la permission de supprimer ces fichiers? Qu'advient-il si vous effectuez les opérations suivantes sur la commande promt: E: <br />cd test <br />del [nom de fichier]?
Évidemment remplacer "[nom de fichier]" avec le nom d'un fichier.
Est-il une raison à l'aide de la boule module est la méthode préférée de plus de la accepté de répondre? (En passant par voix sur répondre) Quels avantages a-t-elle sur l'autre réponse?
Elle vous permettent d'utiliser le
*
au lieu deif file.endswith(".txt"):
dans la accepté de répondre.OriginalL'auteur cwallenpoole
Vous pouvez utiliser popen, ainsi si vous voulez le faire en moins de lignes
#import glob,os ; [os.remove(x) for x in glob.glob("E:\test\*.txt")]
OriginalL'auteur RedDevil