我正在关注django教程,我遇到以下错误:
类型对象'datetime.datetime'没有属性'datetime'
在以下行:
date = datetime.datetime(int(year), int(month), 1)
Run Code Online (Sandbox Code Playgroud)
有人知道错误的原因吗?
from datetime import datetime
如果有帮助,我导入了datetime
谢谢
Joh*_*yon 188
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)
Run Code Online (Sandbox Code Playgroud)
但是,如果您导入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)
Run Code Online (Sandbox Code Playgroud)
我怀疑你或你正在使用的其中一个模块是这样导入的:
from datetime import datetime
.
Rou*_*ouR 67
对于python 3.3
from datetime import datetime, timedelta
futuredate = datetime.now() + timedelta(days=10)
Run Code Online (Sandbox Code Playgroud)
wai*_*kuo 11
你应该用
date = datetime(int(year), int(month), 1)
Run Code Online (Sandbox Code Playgroud)
或改变
from datetime import datetime
Run Code Online (Sandbox Code Playgroud)
至
import datetime
Run Code Online (Sandbox Code Playgroud)
如果您使用过:
from datetime import datetime
Run Code Online (Sandbox Code Playgroud)
然后只需将代码编写为:
date = datetime(int(year), int(month), 1)
Run Code Online (Sandbox Code Playgroud)
但如果你曾经使用过:
import datetime
Run Code Online (Sandbox Code Playgroud)
那么只有你可以写:
date = datetime.datetime(int(2005), int(5), 1)
Run Code Online (Sandbox Code Playgroud)
您实际上应该将模块导入其自己的别名中。
import datetime as dt
my_datetime = dt.datetime(year, month, day)
Run Code Online (Sandbox Code Playgroud)
与其他解决方案相比,上述优点如下:
my_datetime
而不是date
减少混乱,因为date
datetime模块中已经有一个(datetime.date
)。datetime
)不会相互遮挡。小智 5
我遇到了同样的错误,也许您已经使用 only 导入了模块,import datetime
所以更改 from datetime import datetime
为 only import datetime
。我改回来后它对我有用。
归档时间: |
|
查看次数: |
198168 次 |
最近记录: |