Python を使用して、ディレクトリ内のファイルの作成日別にソートされたリストを取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-09 12:02:02
オリジナル
771 人が閲覧しました

How can I get a sorted list of files in a directory by creation date using Python?

Python を使用して作成日によってソートされたディレクトリ リストを取得する

ディレクトリをナビゲートするとき、ソートされたコンテンツのリストを取得する必要が生じることがよくあります。作成日などの特定の基準に従って。 Python では、このタスクを簡単に実行できます。

推奨アプローチ:

これを実現するには、Python の組み込みファイル システム操作モジュールと並べ替え関数を組み合わせます。雇用されている。次のコード スニペットは、このプロセスを示しています。

import glob
import os

search_dir = "/mydir/"
files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))
ログイン後にコピー

このコード スニペットは、os.listdir() を使用して、指定されたディレクトリ内のすべてのファイルのリストを取得することから始まります。その後、os.path.isfile() を使用して、ファイル以外の項目 (ディレクトリ、リンクなど) がフィルターで除外されます。ファイル パスが正しいことを確認するために、各ファイル名には検索ディレクトリ パスが接頭辞として付けられます。

ファイルは、os.path.getmtime() 関数を使用して変更時間に従って並べ替えられます。この関数は、ファイルが最後に変更された時刻を数値形式で返します。この関数をsorted()関数のキー引数として渡すことにより、ファイルは時系列順に並べられ、最後に作成されたファイルが最初に表示されます。

代替アプローチ:

別のアプローチでは、glob モジュールを利用してファイルをフィルタリングし、絶対ファイル パスのリストを取得します。

import glob
import os

search_dir = "/mydir/"
# This glob will look for all files and exclude any directories
files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))
ログイン後にコピー

このコードは基本的に、指定されたディレクトリとそのサブディレクトリの内容全体を検索します。ファイルとディレクトリを除外します。 glob.glob() 関数を使用すると、必要に応じてファイル名をより柔軟に一致させることができます。

以上がPython を使用して、ディレクトリ内のファイルの作成日別にソートされたリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート