Wie kann ich alle Dateien in einem Verzeichnis mit der Erweiterung .txt
in Python?
Antworten
Zu viele Anzeigen?Sie können verwenden glob
:
import glob, os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
print(file)
oder einfach os.listdir
:
import os
for file in os.listdir("/mydir"):
if file.endswith(".txt"):
print(os.path.join("/mydir", file))
oder wenn Sie ein Verzeichnis durchqueren wollen, verwenden Sie os.walk
:
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
Punkte
22748
Verwenden Sie Globus .
>>> import glob
>>> glob.glob('./*.txt')
['./outline.txt', './pip-log.txt', './test.txt', './testingvim.txt']
Adam Byrtek
Punkte
11613
MSeifert
Punkte
131411
Sie können einfach Folgendes verwenden pathlib
s glob
1 :
import pathlib
list(pathlib.Path('your_directory').glob('*.txt'))
oder in einer Schleife:
for txt_file in pathlib.Path('your_directory').glob('*.txt'):
# do something with "txt_file"
Wenn Sie es rekursiv wollen, können Sie .glob('**/*.txt')
1 El pathlib
Modul wurde in die Standardbibliothek von Python 3.4 aufgenommen. Aber Sie können Backports dieses Moduls auch auf älteren Python-Versionen installieren (z.B. mit conda
ou pip
) : pathlib
y pathlib2
.
Seth
Punkte
42154
- See previous answers
- Weitere Antworten anzeigen