我试图从一个txt文件中获取日期时间。在这个文件中,时间用[
和]
表示。你知道吗
我知道第一行总是一个时间戳。但是当我尝试用strtime获取datetime时,我得到了一条错误消息。你知道吗
我已经找到了其他的解决办法。但似乎找不到任何符合我错误的。你知道吗
代码:
FileYSI = open(FilenameYSI,'r')
TimeStampYSI = [next(FileYSI)for x in xrange(1)]
print TimeStampYSI[0]
if TimeStampYSI[0][0] == '['
TimeFP = time.strptime(TimeStampYSI[0],'[%y-%m-%d,%H:%M:%S.%f]\n')
错误:
[2015-09-22,08:10:00.600000]
Traceback (most recent call last):
File "C:/Users/brondert/Documents/realtime_data_aquadrone/trunk/src/MergeLogs.py", line 129, in <module>
MergeLogs("test")
File "C:/Users/brondert/Documents/realtime_data_aquadrone/trunk/src/MergeLogs.py", line 92, in MergeLogs
TimeFP = time.strptime(TimeStampYSI[0],'[%y-%m-%d,%H:%M:%S.600000]\n')
File "C:\Python27\lib\_strptime.py", line 467, in _strptime_time
return _strptime(data_string, format)[0]
File "C:\Python27\lib\_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '[2015-09-22,08:10:00.600000]\n' does not match format '[%y-%m-%d,%H:%M:%S.600000]\n'
4位年份的格式是
%Y
(大写Y)而不是%y
,您应该使用它,例如-演示-
%y
(小写y)格式表示2位年份。你知道吗另一件事,您当前正在使用
time
模块,您将得到一个struct_time
作为strptime
的结果,但是如果您想要datetime
,您应该使用datetime
模块。示例-%y
表示两位数的年份。对于4位数,必须使用%Y
相关问题 更多 >
编程相关推荐