「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python を使用して、ディレクトリ内のファイルの作成日別にソートされたリストを取得するにはどうすればよいですか?

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

2024 年 11 月 16 日に公開
ブラウズ:344

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() 関数を使用すると、必要に応じてファイル名をより柔軟に一致させることができます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3