如何从日志行指定位置截取至空格处获取脚本名?
提取日志中指定位置开始的脚本名
没问题,这个需求很好解决!既然已经明确脚本名从行的索引411处开始,我们只需要找到该位置之后第一个空格的索引,就能精准截取到完整的脚本名了。
修改后的代码实现
with open(my_log, 'r') as fp: for line in fp: # 保留你原代码中检查ERROR_CODE的逻辑 if line[45] == '7': # 从索引411开始查找第一个空格的位置 next_space_idx = line.find(' ', 411) # 处理两种情况:找到空格就截取到空格前,没找到就取到行尾(清理换行符) script_name = line[411:next_space_idx] if next_space_idx != -1 else line[411:].strip() print(script_name)
代码说明
line.find(' ', 411):这个方法会从索引411的位置开始,定位第一个空格的下标;如果后续没有空格(极端异常情况),会返回-1。- 三元运算符处理边界:避免因为日志格式意外导致截取失败,同时用
.strip()清理行尾可能存在的换行符,保证输出的脚本名干净无多余空白。
内容的提问来源于stack exchange,提问作者etm124
相关产品推荐
相关产品推荐

