Kako naštejem vse datoteke v imeniku?

Kako lahko v Pythonu naštejem vse datoteke v imeniku in jih dodam na list?

os.listdir() vam pokaže vse, kar je v imeniku - datoteke in imenike.

Če želite samo datoteke, lahko to filtrirate z uporabo os.path:

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

ali pa uporabite os.walk(), ki bo za vsak imenik, ki ga obišče, pripravil dva seznama - za vas se razdeli na datoteke in imenike. Če želite samo zgornji imenik, lahko prekinete, ko se prvič pojavi

from os import walk

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

Raje uporabljam modul glob, saj omogoča usklajevanje vzorcev in razširjanje.

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

Vrnil bo seznam s poizvedovanimi datotekami:

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

vrne seznam vseh datotek in imenikov v "somedirectory".

Komentarji (3)