Kaip sudaryti visų katalogo failų sąrašą?

Kaip "Python" kalba sudaryti visų katalogo failų sąrašą ir įtraukti juos į sąrašą?

os.listdir() gausite viską, kas yra kataloge - failus ir katalogus.

Jei norite tik failų, galite juos filtruoti naudodami os.path:

from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

arba galite naudoti os.walk(), kuris pateiks du sąrašus kiekvienam aplankytam katalogui, suskirstydamas jį į failus ir katalogus. Jei norite tik viršutinį katalogą, galite tiesiog nutraukti pirmą kartą gautą rezultatą

from os import walk

f = []
for (dirpath, dirnames, filenames) in walk(mypath):
    f.extend(filenames)
    break
Komentarai (6)

Man labiau patinka naudoti glob modulį, nes jis atlieka šablonų atitikimą ir išplėtimą.

import glob
print(glob.glob("/home/adam/*.txt"))

Jis grąžins sąrašą su užklaustais failais:

['/home/adam/file1.txt', '/home/adam/file2.txt', .... ]
Komentarai (4)
import os
os.listdir("somedirectory")

grąžins visų failų ir katalogų, esančių "somedirectory", sąrašą.

Komentarai (3)