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

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

DDD
DDDオリジナル
2024-12-16 21:42:14444ブラウズ

How Can I Efficiently Iterate Through Files in a Directory Using Python?

ディレクトリ内のファイルの反復

はじめに:
ディレクトリ内のファイルの反復は重要ですさまざまなソフトウェア アプリケーションのタスク。この記事では、Python を使用してこれを達成するための効率的なアプローチを提供し、Python 3.6 と再帰的 pathlib メソッドの両方について説明します。

OS を使用した Python 3.6 のソリューション:

  1. Import osオペレーティング システム モジュールにアクセスします。
  2. ディレクトリ パスを文字列オブジェクトとして定義します。変数 directory_in_str。
  3. os.listdir(directory) を使用して、ディレクトリ内のすべてのファイルをリストします。
  4. for ループを使用して各ファイルを反復し、os.fsdecode(file) を使用してファイル名を抽出します。 .
  5. endswith(".asm") または endwith(".py") を使用してファイル拡張子を確認し、次のファイルを識別します。
  6. 特定されたファイルに対して必要なアクションを実行します。

コード例:

import os

directory = os.fsencode(directory_in_str)
    
for file in os.listdir(directory):
    filename = os.fsdecode(file)
    if filename.endswith(".asm") or filename.endswith(".py"): 
        # print(os.path.join(directory, filename))
        continue
    else:
        continue

解決策 pathlib を使用して再帰的反復:

  1. pathlib モジュールからパスをインポートします。
  2. Path.glob('**/*.asm') または Path.rglob( '*.asm') ディレクトリ パス上。
  3. ディレクトリ内の各パスを反復処理します。 pathlist.
  4. さらに処理するために、str(path) を使用して各パス オブジェクトを文字列に変換します。

コード例:

from pathlib import Path

pathlist = Path(directory_in_str).glob('**/*.asm')
for path in pathlist:
    # because path is object not string
    path_in_str = str(path)   
    # print(path_in_str)

これらのメソッドは、特定のディレクトリ内のファイルを反復処理するための効果的なソリューションを提供し、開発者が特定のファイル タイプに対してさまざまな操作を実行できるようにします。効率的に。

以上がPython を使用してディレクトリ内のファイルを効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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