24

私が書いたものはAttributeError、スレッド内でtime.strptime()を使用すると、多くの例外をスローします。これはWindows(Linuxではない)でのみ発生するようですが、「グーグル」では、time.strptime()はスレッドセーフとは見なされないようです。

文字列から日時オブジェクトを作成するためのより良い方法はありますか?現在のコードは次のようになります。

val = DateFromTicks(mktime(strptime(val, '%B %d, %Y')))

ただし、スレッド内で実行されるため、例外が発生します。

ありがとう!

4

4 に答える 4

28

バグレポートによると、strptimeスレッドを作成する前に一度呼び出すと、これは発生しません。私はこれを確認するように見える少しのテストをしました。したがってstrptime、回避策として、初期化中にを呼び出すだけです。

于 2010-03-11T17:46:01.830 に答える
19

_strptimeこのバグのもう1つの回避策として、日時とともに手動でインポートするだけです。

import _strptime
from datetime import datetime

# then, in threaded block
datetime.strptime(date, format)
于 2014-03-18T10:38:54.463 に答える
0

手動で同期してみましたか?おそらく、このレシピの同期デコレータを使用しています。

于 2010-03-11T17:39:34.207 に答える
-3

私が使用すると import datetimedatetime.datetime.strptime()もう例外はスローされません。

于 2014-10-09T16:54:28.463 に答える