Python でディレクトリ内のすべてのファイルを一覧表示し、 に追加するにはどうすればよいですかlist
?
ベストアンサー1
os.listdir()
ディレクトリ内のすべてを返します (ファイルとディレクトリの両方を含む) 。
os.path
はisfile()
ファイルをリストする場合にのみ使用できます。
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
あるいは、os.walk()
訪問するディレクトリごとに2 つのリストを生成します。1 つはファイル用、もう 1 つはディレクトリ用です。最上位のディレクトリだけが必要な場合は、最初に生成されたものを破棄できます。
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break
または、短く:
from os import walk
filenames = next(walk(mypath), (None, None, []))[2] # [] if no file