ホームページ > バックエンド開発 > Python チュートリアル > Python でクロスプラットフォームのファイルの作成時間と変更時間を取得するにはどうすればよいですか?

Python でクロスプラットフォームのファイルの作成時間と変更時間を取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-12 20:44:10
オリジナル
101 人が閲覧しました

How Can I Get File Creation and Modification Times Cross-Platform in Python?

ファイルの作成日と変更日時を取得するためのクロスプラットフォームのアプローチ

さまざまなプラットフォームでファイルを操作する場合、作成および変更のタイムスタンプ。これをクロスプラットフォームで実現するには、次の方法を検討してください。

変更日

ファイル変更日の取得は、os.path.getmtime(path) を使用すると比較的簡単です。 )。このメソッドは、パスで指定されたファイルの最終変更時刻を示す Unix タイムスタンプを返します。

作成日

ファイルの作成日の取得は、アプローチが異なるためより困難です。オペレーティングシステムによって異なります。内訳は次のとおりです:

  • Windows: os.path.getctime() または os.stat() の .st_ctime 属性を利用します。
  • Mac およびその他の Unix OS: の .st_birthtime 属性にアクセスします。 os.stat().
  • Linux: 現在、Python 用の C 拡張機能を作成しない限り、作成日へ直接アクセスすることはできません。ただし、ファイルの mtime (最終変更時刻) を代わりに取得できます。

クロスプラットフォーム実装

プラットフォームに依存する作成日を調整するため取得には、次のようなクロスプラットフォーム関数を使用できます:

import os
import platform

def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime
ログイン後にコピー

以上がPython でクロスプラットフォームのファイルの作成時間と変更時間を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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