ホームページ >バックエンド開発 >Python チュートリアル >異なるオペレーティング システム間でファイルの作成および変更のタイムスタンプを確実に取得するにはどうすればよいですか?

異なるオペレーティング システム間でファイルの作成および変更のタイムスタンプを確実に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-12 21:49:10998ブラウズ

How Can I Get a File's Creation and Modification Timestamps Reliably Across Different Operating Systems?

クロスプラットフォームでのファイル作成および変更日時へのアクセス

クロスプラットフォームでのファイル変更日時の取得は、os.path を使用すると簡単です.getmtime(パス)。より詳細なアプローチについては、次のニュアンスを考慮してください:

Windows

Windows での作成日については、os.path.getctime(path) を利用します。これにより、Windows に固有のファイルの「作成時刻」 (ctime) が取得されます。

Mac および Unix (Linux を除く)

.st_birthtime を介して作成日にアクセスします。 os.stat() の属性result.

Linux

残念ながら、現時点では、Python C 拡張機能を実装しない限り、Linux で作成日を取得することはできません。 Linux ファイル システムに作成日を保存する st_crtime へのアクセスは、Linux カーネルの制限によって制限されます。フォールバックとして、os.path.getmtime() を使用してコンテンツ変更タイムスタンプを取得します。

すべてのプラットフォームをカバーするには、次のような汎用的なアプローチが考えられます。

import os
import platform

def creation_date(path):
    if platform.system() == 'Windows':
        return os.path.getctime(path)
    else:
        stat = os.stat(path)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime

以上が異なるオペレーティング システム間でファイルの作成および変更のタイムスタンプを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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