如何从日志中选择部分文本并将其添加到开头?

时间:2017-10-11 08:07:18

标签: python python-2.7 python-3.x

请有人向我澄清一下从日志行中获取一些文本并将其插入python行前面的最佳方法。

实施例。 输入

<02>Jan  1 00:12:08 15.27.05.42 1,2017/09/07 00:12:08,......

输出

15.27.05.42,<02>Jan  1 00:12:08 15.27.05.42 1,2017/09/07 00:12:08,......
非常感谢

3 个答案:

答案 0 :(得分:2)

您可以使用re模块。 如果您想要添加的模式是唯一的,那么它将类似于:

import re
in_ = "<02>Jan  1 00:12:08 15.27.05.42 1,2017/09/07 00:12:08"
pattern = re.compile(r'\d+\.\d+\.\d+\.\d+')
res = re.search(pattern, in_)
if res:
    out_ = "{},{}".format(res.group(), in_)

# '15.27.05.42,<02>Jan  1 00:12:08 15.27.05.42 1,2017/09/07 00:12:08'

答案 1 :(得分:0)

连接2个字符串&#34; +&#34;运算符是足够好的,但对于3个或更多部分字符串,我建议使用join()方法:

log = "02>Jan  1 00:12:08 15.27.05.42 1,2017/09/07 00:12:08"

log = "5.27.05.42," + log

log = "".join("5.27.05.42," + log)

关于将日志导出到字符串中有很多方法,都取决于什么形式以及你在哪里写日志。

同样@RomanPerekhrest提到,目前还不清楚你想在日志之前放什么,如果它是日志里面的东西,你将不得不使用正则表达式。

答案 2 :(得分:0)

您应首先使用.split(" ")拆分文本,然后将日志文件转换为列表,然后使用log_elements[index]+log将它们连接在一起。