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
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', .... ]