You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python提取日志行指定内容并进行拆分?

解决方法

方法一:用Python脚本处理

你之前没法直接把行当作字典访问,是因为每行是JSON格式的字符串,得先转成Python字典才行。用下面的脚本就能搞定:

import json

# 替换成你的日志文件路径
log_file_path = "your_logs.log"

with open(log_file_path, 'r') as log_file:
    for line in log_file:
        # 去掉每行首尾的空格和换行符
        line = line.strip()
        if not line:
            continue
        try:
            # 把JSON字符串转成字典
            log_dict = json.loads(line)
            # 提取time字段
            raw_time = log_dict["time"]
            # 按.拆分,取前面的部分,自动去掉毫秒和Z
            clean_time = raw_time.split(".")[0]
            # 这里可以打印或者写入文件
            print(clean_time)
        except json.JSONDecodeError:
            # 跳过格式错误的行
            print(f"跳过格式错误的行:{line}")
            continue

如果要把结果保存到文件,把print(clean_time)换成:

with open("cleaned_times.txt", "a") as out_file:
    out_file.write(clean_time + "\n")

方法二:用命令行工具jq(适合Linux/macOS)

如果不想写脚本,用jq这个JSON处理工具更快捷,直接在终端跑命令:

jq -r '.time | split(".")[0]' your_logs.log
  • -r:输出原始字符串(不带引号)
  • .time:提取日志条目中的time字段
  • split(".")[0]:按小数点拆分时间字符串,取第一部分

补充说明

你之前尝试直接用索引访问失败,本质是没把JSON字符串转换成可操作的字典结构,用json.loads()处理后,就能像普通字典一样通过["time"]提取字段了。

内容的提问来源于stack exchange,提问作者Linuxnoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:54:58