Pythonでファイルの最終変更日を取得する

Pythonでファイルの最終変更日を取得してみます。

Pythonでファイルの最終変更日を取得する場合は、osモジュールを使います。osモジュールはPythonの標準ライブラリとなっていますので、事前にインストールしておく必要はありません。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)

■テスト用のファイルを用意する

osモジュールを使いファイルの最終変更日を取得しますが、今回はテストでファイルの最終変更日を取得しますので、テスト用のファイルを用意します。

用意したファイルは、「test01.txt」というテキストファイルになります。ファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」です。

■osモジュールを使いファイルの最終変更日を取得する

テスト用のファイルが用意できましたので、osモジュールを使ってファイルの最終変更日を取得するスクリプトを書いていきます。

■コード

import os

lastmodified = os.stat(r'C:\Users\user\test\test01.txt').st_mtime

print(lastmodified)

インポートでosモジュールを呼び出して、os.stat()で指定されたファイルの属性を取得し、st_mtimeで最後に変更された時刻を取得します。

取得したものをprint関数で出力します。

■実行

今回書いたスクリプトを、「file-last-modified-date.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、「1599346549.9091763」という数字が表示されます。これはタイムスタンプと呼ばれるもので、時間を表していますが、私たち人間が理解するのは難しいです。

■タイムスタンプを日時に変換する

タイムスタンプは時間を表しているものなので、これを人間が読めるようにするために、日時に変換するために、スクリプトにコードを追加します。

■コード

import os
from datetime import datetime

lastmodified = os.stat(r'C:\Users\user\test\test01.txt').st_mtime

print(datetime.fromtimestamp(lastmodified))

datetimeモジュールのdatetimeクラスをインポートすることで、日時に変換することができます。そしてdatetime.fromtimestamp()で、今回取得したタイムスタンプを日時に変換します。

最後に変換したものをprint関数で出力します。

■実行

コードを追加したスクリプトをコマンドプロンプトから実行します。

実行してみると、今度はタイムスタンプが「日時」として出力され、ファイルの最終変更日を取得することができました。

コメント

タイトルとURLをコピーしました