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手动导入,以及日期时间

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 datetime不再datetime.datetime.strptime()抛出异常。

于 2014-10-09T16:54:28.463 回答