2013-12-19 49 views
3

我在python中遇到了datetime模块,因为这是我第一次在我的脚本中需要它。在python的日期时间模块中缺少属性

但是我真的有它的问题,例如:

import datetime 

date_now = datetime.date.today() 

print date_now 

作为一个答案,我得到:

Traceback (most recent call last):

File "datetime.py", line 3, in

import datetime 

File "/root/Desktop/python_work/datetime.py", line 5, in

today = datetime.date.today() 

AttributeError: 'module' object has no attribute 'date'

然后我检查了我的datetime模块列表属性:

进口日期时间

for p in dir(datetime): 

    print p 

因此,我只得到了:

> __builtins__ 
> 
> __doc__ 
> 
> __file__ 
> 
> __name__ 
> 
> __package__ 
> 
> datetime 

,是的,真正的,“模块”对象有没有属性“约会”,这真的没有了。

是否有任何想法,应该添加到python安装或如何解决它?

回答

6

问题是你有一个名为datetime.py的文件在你的模块路径中。你可以看到,从回溯:

Traceback (most recent call last):  
File "datetime.py", line 3, in 
import datetime 
File "/root/Desktop/python_work/datetime.py", line 5, in 
today = datetime.date.today() 

相反导入您的站点包的datetime.py的,你在/root/Desktop/python_work导入datetime.py

事实上,datetime.py似乎很可能是您正在运行的实际脚本,在这种情况下您只需导入自己。

解决方案是重命名脚本。一般来说,不要将脚本命名为stdlib中的模块 - 特别是您打算使用的模块。

6

将您的文件从datetime.py"重命名为其他内容。该名称与内置的datetime模块冲突。因此错误。

+0

是的,我甚至没有注意到文件的名称,我只是把它作为测试脚本,因为我总是为main的每个部分做测试。无意中称它为同名...感谢符号! :d –