我正在尝试从日志文件示例字符串创建 DateTime 对象。
我一直在尝试使用正则表达式来解析它,但是每当我到达日志文件的格式(后半部分时间有一个连接的字母“T”)时,它就会失败。我的测试字符串是“错误 2019-02-03T23:21:20 找不到文件”
def convert_to_datetime(line):
match = re.search('\d{4}-\d{2}-\d{2}', line)
我正在努力从字符串中获取完整的日期。我尝试了几种正则表达式,但我认为我使用了错误的语法。
最佳答案
不确定您是否需要这个,但如果您的字符串是自由样式,则从字符串生成日期时间对象可能会非常复杂。但我们有dateutil包帮助:
>>> import dateutil.parser
>>> s = 'ERROR 2019-02-03T23:21:20 cannot find file'
>>> dateutil.parser.parse(s, fuzzy=True)
datetime.datetime(2019, 2, 3, 23, 21, 20)
所以如果你喜欢它,这就是函数:
def convert_to_datetime(s):
return dateutil.parser.parse(s, fuzzy=True)
关于python - 从日志文件中提取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55905559/