Python'da bir dizindeki tüm dosyaları nasıl listeleyebilir ve bir list
e ekleyebilirim?
os.listdir()
size bir dizinde bulunan her şeyi getirecektir - dosyalar ve dizinler.
Eğer sadece dosya istiyorsanız, bunu os.path
kullanarak filtreleyebilirsiniz:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
ya da os.walk()
kullanabilirsiniz, bu da ziyaret ettiği her dizin için iki liste verir - sizin için dosyalara ve dirslere böler. Eğer sadece en üst dizini istiyorsanız, ilk seferinde sadece kırabilirsiniz
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break
Kalıp eşleştirme ve genişletme yaptığı için glob
modülünü kullanmayı tercih ediyorum.
import glob
print(glob.glob("/home/adam/*.txt"))
Sorgulanan dosyaları içeren bir liste döndürecektir:
['/home/adam/file1.txt', '/home/adam/file2.txt', .... ]