Python多线程下的_strptime问题

来源:互联网 发布:sql注入绕过过滤 编辑:程序博客网 时间:2024/06/03 21:45
由于Python的datetime和time中的_strptime方法不支持多线程,运行时会报错:AttributeError: _strptime
def dateHourRange(beginDateHour, endDateHour):    dateHours = []    dt = datetime.datetime.strptime(beginDateHour, "%Y-%m-%d.%H")    dateHour = beginDateHour[:]    while dateHour <= endDateHour:        dateHours.append(dateHour)        dt = dt + datetime.timedelta(hours=1)        dateHour = dt.strftime("%Y-%m-%d.%H")    return dateHours

解决方案是在使用的时候加锁:
import threadingc = threading.RLock()def dateHourRange(beginDateHour, endDateHour):    with c:        dateHours = []        dt = datetime.datetime.strptime(beginDateHour, "%Y-%m-%d.%H")        dateHour = beginDateHour[:]        while dateHour <= endDateHour:            dateHours.append(dateHour)            dt = dt + datetime.timedelta(hours=1)            dateHour = dt.strftime("%Y-%m-%d.%H")        return dateHours

0 0
原创粉丝点击