Comment puis-je trouver tous les fichiers dans le répertoire avec l'extension .txt en python?
Réponses
Trop de publicités?Vous pouvez utiliser glob
:
from __future__ import print_function
import glob
import os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
print(file)
ou tout simplement os.listdir
:
from __future__ import print_function
import os
for file in os.listdir("/mydir"):
if file.endswith(".txt"):
print(file)
ou si vous voulez parcourir le répertoire:
from __future__ import print_function
import os
for root, dirs, files in os.walk("/mydir"):
for file in files:
if file.endswith(".txt"):
print(os.path.join(root, file))
Muhammad Alkarouri
Points
8463
Utiliser glob.
>>> import glob
>>> glob.glob('./*.txt')
['./outline.txt', './pip-log.txt', './test.txt', './testingvim.txt']
Adam Byrtek
Points
5791
Seth
Points
18568
hughdbrown
Points
15770
J'ai comme os.marche():
import os, os.path
for root, dirs, files in os.walk(dir):
for f in files:
fullpath = os.path.join(root, f)
if os.path.splitext(fullpath)[1] == '.txt':
print fullpath
Ou avec des générateurs:
import os, os.path
fileiter = (os.path.join(root, f)
for root, _, files in os.walk(dir)
for f in files)
txtfileiter = (f for f in fileiter if os.path.splitext(f)[1] == '.txt')
for txt in txtfileiter:
print txt