Rasti visus failus, esančius kataloge su plėtiniu .txt, naudojant "Python

Kaip "Python" kalba rasti visus kataloge esančius failus su plėtiniu .txt?

Sprendimas

Galite naudoti glob:

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

arba paprasčiausiai os.listdir:

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

arba, jei norite pereiti katalogą, naudokite 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))
Komentarai (21)

Naudokite glob.

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

Kažkas panašaus turėtų būti tinkama

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