Finn alle filer i en katalog med filtypen .txt i Python

Hvordan kan jeg finne alle filene i en katalog med filtypen .txt i python?

Løsning

Du kan bruke glob:

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
    print(file)

eller bare os.listdir:

import os
for file in os.listdir("/mydir"):
    if file.endswith(".txt"):
        print(os.path.join("/mydir", file))

eller hvis du vil gå gjennom katalogen, bruk 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))
Kommentarer (21)

Bruk glob.

>>> import glob
>>> glob.glob('./*.txt')
['./outline.txt', './pip-log.txt', './test.txt', './testingvim.txt']
Kommentarer (4)

Noe sånt burde gjøre jobben

for root, dirs, files in os.walk(directory):
    for file in files:
        if file.endswith('.txt'):
            print file
Kommentarer (4)