请有人向我澄清一下从日志行中获取一些文本并将其插入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,......
非常感谢
答案 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
将它们连接在一起。