2012-08-22 98 views
0

以下代码按预期工作。但我有两个问题。导入所需模块

# 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

你知道什么是'strptime'属于因为代码告诉你:它连接到'datetime',你已经刚刚进口。 –

回答

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") 
2
datetime 

是一个模块。它也有一个名为成员日期时间有一个名为strptime

2

1)它正常工作的方法。但其中的datetime类是分开的。您需要将其称为datetime.datetime。 2)使用General Index。但方法属于对象,而不是模块。

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 datetimehelp()不能帮你。所以最好浏览一下这个文档;而谷歌python strptime通常将您置于正确的文档页面。