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

Python 2.7读取UTF-8编码jsonl文件报非ASCII字符错误如何解决

问题根因定位

你遇到的报错和代码侧的编码配置无关,核心错误出在执行命令的逻辑:python my_single_jsonl.jsonl是让Python解释器把JSONL文件当成Python脚本解析,自然会把文件里的非ASCII字符识别为语法错误。

可行解决方法
  1. 修正执行命令
    使用cat命令读取JSONL文件内容,再通过管道传给你的Python脚本即可,不需要修改源文件:
cat my_single_jsonl.jsonl | python my_python_code.py
  1. 额外编码兼容适配(若修正命令后仍有编码报错)
  • 执行命令前先设置Python标准流默认编码为UTF-8:
export PYTHONIOENCODING=utf-8
  • 调整代码中读取行的逻辑,手动处理编码转换:
# coding=utf-8
from __future__ import unicode_literals

import os
import json
import sys

def extract_jsonl_data():
    json_as_list= []
    for line in sys.stdin:
        # 先按UTF-8解码字节串,再转成符合json解析要求的格式
        processed_line = line.decode('utf-8').encode('utf-8')
        json_as_list.append(json.loads(processed_line))
    return json_as_list

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:06:06