Hogyan listázhatom ki egy könyvtár összes fájlját?

Hogyan tudom felsorolni egy könyvtár összes fájlját Pythonban és hozzáadni őket egy list-hez?

os.listdir() mindent megkapsz, ami egy könyvtárban van - fájlokat és könyvtárakat.

Ha csak fájlokat akarsz, akkor ezt vagy a os.path segítségével szűrheted le:

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

vagy használhatod az os.walk() parancsot, amely két listát ad minden egyes meglátogatott könyvtárhoz - fájlokra és könyvtárakra bontva. Ha csak a legfelső könyvtárra van szükséged, akkor egyszerűen megszakíthatod az első alkalommal, amikor a következő eredményt kapod

from os import walk

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

Jobban szeretem a glob modult használni, mivel az mintaillesztést és bővítést végez.

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

Visszaad egy listát a lekérdezett fájlokkal:

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

a "valamilyen könyvtárban" található összes fájl és könyvtár listáját adja vissza.

Kommentárok (3)