以下代码按预期工作。但我有两个问题。
# import datetime # does not work
from datetime import datetime
row = ('2002-01-02 00:00:00.3453', 'a')
x = datetime.strptime(row[0], "%Y-%m-%d %H:%M:%S.%f")
1)为什么只导入日期时间不起作用?
2)我如何知道'strptime'方法所针对哪个模块?
>>> help('modules strptime')
不提供我正在寻找的信息。
答案 0 :(得分:2)
datetime
是一个模块。它还有一个名为 datetime 的成员,其成员名为 strptime
答案 1 :(得分:2)
1)它工作正常。但是内部的datetime
类是分开的。您需要将其称为datetime.datetime
。
2)使用General Index。但方法属于对象,而不是模块。
答案 2 :(得分:2)
该方法为datetime.datetime.strptime
,当您执行简单的import datetime
时,您只导入顶级模块,而不是datetime
类
你可以这样测试:
>>> import datetime
>>> locals()
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'dat
etime': <module 'datetime' (built-in)>, '__doc__': None, '__package__': None}
>>> from datetime import datetime
>>> locals()
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'dat
etime': <type 'datetime.datetime'>, '__doc__': None, '__package__': None}
您可以看到命名空间中有两个不同的对象。
对于第二个问题,Python的内置help()
仅适用于那些加载的模块和对象。如果您没有import datetime
,则help()
无法帮助您。所以最好浏览一下这个文档;并且python strptime
上的Google通常会将您置于正确的文档页面。
答案 3 :(得分:1)
你要么:
import datetime
x = datetime.datetime.strptime(row[0], "%Y-%m-%d %H:%M:%S.%f")
或者你这样做:
from datetime import datetime
x = datetime.strptime(row[0], "%Y-%m-%d %H:%M:%S.%f")