ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してディレクトリ内のファイルのみを効率的に一覧表示するにはどうすればよいですか?

Python を使用してディレクトリ内のファイルのみを効率的に一覧表示するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-01 12:31:11856ブラウズ

How Can I Efficiently List Only Files in a Directory Using 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。