我无法从 python 脚本导入日期时间,但我可以从终端命令行导入。
1)import datetime
2)From datetime import datetime
month = datetime.datetime.now().strftime("%B")
print month
这些代码行在命令行中一一输入时起作用有什么想法吗?
我在mac上运行2.7
我无法从 python 脚本导入日期时间,但我可以从终端命令行导入。
1)import datetime
2)From datetime import datetime
month = datetime.datetime.now().strftime("%B")
print month
这些代码行在命令行中一一输入时起作用有什么想法吗?
我在mac上运行2.7
您将脚本 datetime.py
命名为,位于/Users/ripple/Dropbox/Python/datetime.py
。这是导入而不是标准库模块,因为主脚本的目录是 Python 查找导入的第一个位置。
您不能为您的脚本提供与您尝试导入的模块相同的名称。重命名您的脚本。确保您还删除了/Users/ripple/Dropbox/Python/datetime.pyc
.
这是正在发生的事情:
datetime.py
进行测试import datetime
里面写,因为那是你想尝试的模块运行文件时会发生什么:
datetime
datetime.pyc
,因为它希望你在它的基础上进行构建幸运的是,StackOverflow 的好心人让您意识到了这个命名错误,并且您将datetime.py
文件重命名为其他内容。但是令人困惑的是,您仍然会遇到错误,并且挫败感会慢慢积聚...
.py
脚本和本地.pyc
文件。这应该可以解决您的问题。:)这是一个常见错误的原因是人们喜欢在编程时测试东西。当他们这样做时,大多数人的自然倾向是制作一个与他们想要测试的东西同名的脚本。然而,这是大多数 Python 开发人员遇到的第一个问题。如果那些设计 Python 的酷人在制作他们的系统之前阅读了 Donald Norman,这永远不会成为问题。但事实上,我们只需要在命名文件之前调整 Python 模块系统的工作方式即可。注意:Python 模块系统以这种方式工作仍有一些原因,但这并不妨碍它对初学者造成混淆。
您的第二行是覆盖 python 在以后的代码中理解“日期时间”一词的含义。您应该使用
import datetime # the complete module
month = datetime.datetime.now().strftime("%B")
或者
from datetime import datetime # one part of the main module
month = datetime.now().strftime("%B")
在保存脚本时,请确保给它指定不同的名称(日期时间除外)并将其保存在 c:/Python34/Scripts 中;我相信这会奏效。