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