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

Python如何从非标准API返回文本文件中提取id字段值

问题原因
  • 核心错误:re.findall()的第二个参数错误传入了lines(所有行组成的列表),而该函数要求传入字符串类型的待匹配内容,因此永远匹配不到结果
  • 正则规则没有设置捕获组,无法直接提取id值,还需要额外做字符串处理
  • with open上下文会自动管理文件句柄,无需手动调用f.close(),重复关闭属于冗余操作
  • 文件后缀改为txt不会对内容解析产生任何影响,不需要担心这个问题
修复后代码
import re

# 只读模式打开原文件即可,不需要读写模式r+
with open('slo_id.txt', 'r', encoding='utf-8') as f:
    content = f.read()
    # 正则直接捕获id值:匹配'id': ' 后到下一个单引号前的所有内容
    ids = re.findall(r"'id'\s*:\s*'([^']+)'", content)
    # 打印所有匹配到的id
    for id_val in ids:
        print(id_val)

# 如需写入新文件,添加以下代码即可
with open('output_ids.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(ids))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:21:01