不导入datetime mod,python行为奇怪吗?

时间:2014-05-16 02:06:50

标签: python

我试图运行此代码:

from datetime import datetime

now = datetime.now()
day = now.day
month = now.month
year = now.year

print(now)
print(day)
print(month)
print(year)
print(month,"/", day,"/", year) 

print(str(month) + '/'  + str(day) + '/' + str(year))


minute = now.minute
second = now.second
hour = now.hour

print(str(hour) + ':' + str(minute) + ':' + str(second))

当我跑步时,我得到了这个:

Traceback (most recent call last):
  File "/Users/Anthony/Documents/datetime.py", line 1, in <module>
    from datetime import datetime
  File "/Users/Anthony/Documents/datetime.py", line 1, in <module>
    from datetime import datetime
ImportError: cannot import name 'datetime'
  • 由于一些奇怪的原因,模块从终端导入得很好,代码运行没有问题。只有从IDLE运行时才会发生这种情况。
  • 我的/ Documents文件夹中有一个__pycache__文件夹,通常不在那里。它有一个名为datetime.cpython-34.pyc的文件,当我尝试打开时,我得到“文件编码对于Python 3.x无效IDLE会将其转换为UTF-8。当前的编码文件是什么? ASCII;一旦我点击它,我就会“无法解码。”
  • Python 3.4
  • 我确信这与问题有关:尝试完全删除python 3.4我从/ Applications,/ Frameworks和.pkg文件中卸载了它。我相信这引发了这个问题。问题是,我重新安装它,这仍然在发生。

1 个答案:

答案 0 :(得分:2)

在python中,

.py后缀文件始终是可导入的。因此,您永远不应该在现有模块之后命名您的文件。只需将文件名称编辑为dtime.py即可,一切正常。

如果我尝试创建一个名为datetime.py的文件并且我调用from datetime import datetime,则会出现同样的错误:

    from datetime import datetime
ImportError: cannot import name datetime

这是因为它正在您的文件中查找属性datetime,该属性不存在。