2012-08-22 131 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通常將您置於正確的文檔頁面。