1. ホーム
  2. python

'datetime.datetime' に 'datetime' という属性がない問題

2022-02-11 15:07:57

Pythonを書くときに、日付の計算をすることがあります。なので、datetime.datetime(*d_startTime[0:6])のようなコードを書きました。

コンパイルに失敗し、'datetime.datetime' has no attribute 'datetime' エラーを報告しました。

しかし、参照を見てください:from datetime import datetime はすでに書かれています。そして、リファレンスの残りの部分は問題ありません。

よくよく見てみると、問題はこれだと判明しました。

datetimeからdatetimeをインポートすることは、すでにdatetime.datetimeのレイヤーに名前空間を持ち込むことと等価であるので

このように datetime.datetime(*d_startTime[0:6]) と書くと、コンパイラは datetime.datetime 空間にある datetime クラスに移動します。

しかし、datetimeクラスはdatetime空間の下にあるはずなのです。だから、エラーを報告することになる。

なので、datetime(*d_startTime[0:6])と書けば問題ないです。

この問題の主な原因は、2つの同じdatetimesが同じレベルではなく、1つはモジュール、もう1つはクラスであるため、混乱していることです。

一方

import datetime.datetime(*d_startTime[0:6])と書けば、正解になります。