Python | module ‘datetime’ has no attribute ‘strptime’ エラーの原因と解決策
Pythonの実行時に発生するエラー「module 'datetime’ has no attribute 'strptime’」の原因と解決策について紹介しています。
AttributeError: module 'datetime’ has no attribute 'strptime’
AttributeError: モジュール 'datetime’ には属性 'strptime’ がありません
Windows11 ローカル
Python python-3.11.1
module 'datetime’ has no attribute 'strptime’ エラーの原因
「module 'datetime’ has no attribute 'strptime’」というPythonの実行エラーは 場合に発生するエラーです。
例えば以下のような事がエラーの発生原因にあります。
- datetimeモジュールのdatetimeクラスが指定できていない
module 'datetime’ has no attribute 'strptime’ エラーの発生例と解決策
「module 'datetime’ has no attribute 'strptime’」エラーが発生するコード例とその解決策を紹介します。
datetimeモジュールのstrptimeクラスが指定できていない
このエラーは「datetime」モジュールの「datetime」クラスが指定できていない場合に発生します。
例えば、「datetime」をインポートして文字列型を日時に変換する為にstrptime()
関数を実行する場合、以下のように記述してしまうとエラーとなります。
import datetime
# 文字列型を日時に変換する
set_time = datetime.strptime("2023-01-10 10:10:10", "%Y-%m-%d %H:%M:%S")
# AttributeError: module 'datetime' has no attribute 'strptime'
上記のコードエラーを解決するには2つの方法があり、まずは「datetime」クラスを正確に指定する方法があります。
「datetime」という名前が同じで、ミスしやすい場面ですが、「datetime.datetime」と記述するのが正解です。
import datetime
# 文字列型を日時に変換する
set_time = datetime.datetime.strptime("2023-01-10 10:10:10", "%Y-%m-%d %H:%M:%S")
もうひとつの解決策として、インポート時に「from」キーワードを使い「from datetime import datetime」として「datetime」クラスだけをインポートする方法があります。
「datetime」は「datetime」クラスとして扱う事が可能になります。
from datetime import datetime
# 文字列型を日時に変換する
set_time = datetime.strptime("2023-01-10 10:10:10", "%Y-%m-%d %H:%M:%S")
ディスカッション
コメント一覧
まだ、コメントがありません