クロスプラットフォームのファイル作成および変更日時の取得
異なるオペレーティング システム間でファイルの作成および変更の日時を取得することができます。複雑なタスクです。
修正日付
クロスプラットフォームでのファイル変更日の取得は、最終変更の Unix タイムスタンプを提供する os.path.getmtime() を使用することで比較的簡単です。
作成日
ファイルの作成日については、プラットフォーム固有の理由によりプロセスがより複雑になります実装:
クロスプラットフォーム コード
これらのプラットフォーム固有のアプローチを組み合わせると、クロスプラットフォーム コードプラットフォームのコード スニペットは次のとおりです:
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: # We're probably on Linux. No easy way to get creation dates here, # so we'll settle for when its content was last modified. return stat.st_mtime
このコードは最初にプラットフォームをチェックして、適切なコードを適用します。 方法。 Windows では os.path.getctime() を使用しますが、Mac および一部の Unix ベースの OS では、.st_birthtime を使用して作成日を取得しようとします。 Linux の場合は、.st_mtime.
を通じて取得した変更日にフォールバックします。以上が異なるオペレーティング システム間でファイルの作成時間と変更時間を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。