小编典典

无法在脚本中导入导入日期时间

python

我无法从python脚本导入datetime,但可以从终端命令行导入。

1)import datetime
2)From datetime import datetime

month = datetime.datetime.now().strftime("%B")
print month

这些代码行在命令行中一一输入时起作用。有什么想法吗?

我在Mac上运行2.7


阅读 123

收藏
2020-12-20

共1个答案

小编典典

这是正在发生的事情:

  1. datetime.py为测试命名了文件
  2. 然后您import datetime在其中编写了内容,因为这是您要尝试的模块

运行文件时,将发生以下情况:

  1. Python首先在您的本地目录中查找名为的模块 datetime
  2. 由于Python仅找到您的原始文件,因此它会创建一个名为的空模块文件datetime.pyc,因为它希望您以此为基础

幸运的是,StackOverflow的好人使您意识到了这个命名错误,并且您将datetime.py文件重命名为其他名称。但是令人困惑的是,您
仍然 会收到错误,并且挫折感会慢慢形成……

解:

  1. 始终确保文件名不等于要导入的任何Python模块
  2. 如果你还是算了,然后确保删除或重命名 这两个 本地.py脚本 本地.pyc文件。这应该可以解决您的问题。:)

这是一个常见错误的原因是,人们喜欢在编程时测试东西。而且,当他们这样做时,大多数人的自然倾向是使脚本的名称与他们要测试的名称相同。但是,这是大多数Python开发人员遇到的第一个
陷阱 。如果设计Python的很酷的人在制作系统之前就读过Donald
Norman,那将永远不是问题。但实际上,在命名文件之前,我们只需要调整Python模块系统的工作方式即可。注意:Python模块系统仍以这种方式工作仍然有其原因,但这并不妨碍它对初学者感到困惑。

2020-12-20