首页 >  知识中心 >  新闻详情

strp linux c strptime函数

来源:朵拉利品网  |  2019-08-23 04:22:34

1, linux c strptime函数



char *strptime(const char *restrict buf, const char *restrict format, struct tm *restrict tm);
buf指向一个字符串格式的时间,函数将这个时间用format表示的格式解析,存放到tm中去
例子:
strptime("6 Dec 2001 12:33:45", "%d %b %Y %H:%M:%S", &tm);
返回值:
解析正确返回最后解析字符的下一个字符的地址,失败返回NULL
参考
看你的写法,是你理解错了.
tm中的年是时间与格林尼治时间的差表示的

3, python中,多线程情况下,time下的strptime()方法的bug谁能给我解...



因为strptime是用C写的:
static PyObject *
time_strptime(PyObject *self, PyObject *args)
{
PyObject *strptime_module = PyImport_ImportModuleNoBlock("_strptime");
PyObject *strptime_result;
if (!strptime_module)
return NULL;
strptime_result = PyObject_CallMethod(strptime_module,
"_strptime_time", "O", args);
Py_DECREF(strptime_module);
return strptime_result;
}在函数里面用PyImport_ImportModuleNoBlock来import一个叫"_strptime"的module。PyImport_ImportModuleNoBlock的文档里说
"""
The function PyImport_ImportModuleNoBlock() never blocks. It first tries to fetch the module from sys.modules and falls back to PyImport_ImportModule() unless the lock is held, in which case the function will raise an ImportError
"""所以如果当你的一个线程正在import这个module却还没import完成的时候,!strptime_module判断不到,所以在执行到PyObject_CallMethod(strptime_module,"_strptime_time", "O", args)的时候,python发现strptime_module没有_strptime_time,就AttributeError了。
所以你在一个thread里用strptime之前,先用imp.acquire_lock()取得import lock,执行成功之后再imp.release_lock()应该就可以了。

相关概念


module

module,意思是宇宙飞船的分离舱。n. [计] 模块;组件;模数。[网络] 模块;模;模组。[专业] 模块 [计算机科学技术];模块 [电子、通信与自动控制技术];构件 [农业科学]。

 
相关新闻
埃美柯ppr球阀 ppr球阀如何安装 07-03
大头PPR管件 万能管在PPR管材排行第几? 07-03
12531工会app打不开 APP staror 怎么打不开 07-26
resturtant是什么意思 restaurant是什么意思 07-26
运营派app 苹果在App Store 卖的软件交税吗? 07-28
proxcard是什么意思 银行卡上的"mastercard"是什么意思? 08-11
好身材app搜不到设备 为什么app store搜索打不开 08-13
960pro和970pro性能 950pro和960pro差了多少 08-14
strp linux c strptime函数 08-23
street怎么读 street怎么读音是什么意思 09-24
相关产品
电桥驱动器IR2103STRPBF 驱动IC芯片 原装正品 全国一件起拍 06-02
PMMA DR FROSTED 特价现货 06-17
SUNFROST KA 65015 PVC 06-21
SUSTARIN C POM 汽车车把 06-24
Crastin HR5330HF NC010 PBT 高流动性 06-25
供货 产地韩国PLASTOMER品牌G/460 TPE原料 06-30
ABB框架断路器E3H/E1250 R1250 PR123/P-LSI FHR 3P NST原装正品 07-07
加纤PBT ST830FRUV BK507 07-22
RSS 36-I1-D-R-ST安全传感器供应 08-09
ABS AP-8A KRALASTIC 可电镀 08-24

大家都在看