190

次のエラーが発生しました。

タイプ オブジェクト 'datetime.datetime' には属性 'datetime' がありません

次の行で:

date = datetime.datetime(int(year), int(month), 1)

エラーの理由を知っている人はいますか?

from datetime import datetimeそれが役立つ場合は、日時をインポートしました

ありがとう

4

9 に答える 9

311

Datetime は、日付、時刻、日時 (すべてデータ型) の処理を​​可能にするモジュールです。これは、それdatetimeがトップレベルのモジュールであると同時に、そのモジュール内の型でもあることを意味します。これは紛らわしいです。

あなたのエラーは、おそらくモジュールの紛らわしい命名に基づいており、あなたまたはあなたが使用しているモジュールがすでにインポートしたものです。

>>> import datetime
>>> datetime
<module 'datetime' from '/usr/lib/python2.6/lib-dynload/datetime.so'>
>>> datetime.datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

ただし、datetime.datetime をインポートする場合:

>>> from datetime import datetime
>>> datetime
<type 'datetime.datetime'>
>>> datetime.datetime(2001,5,1) # You shouldn't expect this to work 
                                # as you imported the type, not the module
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

あなたまたはあなたが使用しているモジュールの1つが次のようにインポートされていると思われます: from datetime import datetime.

于 2012-10-16T01:50:18.000 に答える
132

Python 3.3 の場合

from datetime import datetime, timedelta
futuredate = datetime.now() + timedelta(days=10)
于 2013-10-31T05:48:22.963 に答える
20

使用する必要があります

date = datetime(int(year), int(month), 1)

または変更

from datetime import datetime

import datetime
于 2012-10-16T01:51:04.020 に答える