奇怪的Python datetime导入问题

2024-03-28 21:48:32 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨 我发现这个问题在不同的设置上有不同的表现。 当其他程序失败时,我已经完成了以下任何一项工作,而这些更改有时会发生(即一个程序段在一个设置上失败,而另一个程序段在另一个设置上失败)

from datetime import datetime
datetime.datetime.utcnow()


import datetime
datetime.datetime.utcnow()

例如,我刚从2.6升级到Python2.7,第一个代码片段在出现错误之前运行良好

Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

这很好,但是在2.6中同样的代码片段起作用了,而第二个代码片段失败了。现在它反过来了。。。

这是一个很奇怪的问题。。。

谢谢 哈雷尔


Tags: 代码fromimport程序mostdatetime错误stdin
3条回答

你错了。第一个片段在两个版本中都不正确。

这里的其他答案是正确的(您的导入是错误的),但这里有一个片段,可以让您更清楚地知道当您这样做时发生了什么。

>>> import datetime
>>> type(datetime)
<class 'module'>
>>> type(datetime.datetime)
<class 'type'>
>>> from datetime import datetime
>>> type(datetime)
<class 'type'>

如果您正在执行from datetime import datetime,则需要使用datetime.utcnow(),而不是datetime.datetime.utcnow()。我看不出你的第一个片段是如何工作的。

>>> from datetime import datetime
>>> datetime.datetime.utcnow()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime.utcnow()
datetime.datetime(2011, 5, 3, 14, 10, 36, 30592)

相关问题 更多 >