ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してディレクトリ内のファイルのみを効率的に一覧表示するにはどうすればよいですか?
ディレクトリからファイルを取得する
ディレクトリのファイルリストを取得することは、Python プログラミングの一般的なタスクです。これを行う 1 つの方法は、os.listdir() を使用することです。これは、ファイルとディレクトリの両方を含む、ディレクトリ内のすべての項目を返します。
アプローチ 1: os.path.isfile() を使用する
ファイルのみをリストするには、次を使用します。 os.path.isfile():
from os import listdir from os.path import isfile, join mypath = 'path/to/directory' onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
アプローチ 2: os.walk() を使用する
os.walk() は、ディレクトリとそのサブディレクトリを反復処理します。 、アクセスしたディレクトリごとにタプルを返します。このタプルには、ファイル用、ディレクトリ用、および現在のディレクトリ自体用の 3 つのリストが含まれています。
from os import walk mypath = 'path/to/directory' filenames = next(walk(mypath), (None, None, []))[2] # [] if no files
このアプローチでは、ディレクトリ構造をより完全に表現できます。現在のディレクトリのみにあるファイルを一覧表示するには、最初の繰り返しの後でループを中断します:
from os import walk f = [] for (dirpath, dirnames, filenames) in walk(mypath): f.extend(filenames) break
以上がPython を使用してディレクトリ内のファイルのみを効率的に一覧表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。