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

遇到OSError: [Errno 63]文件名过长错误,求最佳解决方法

解决OSError: [Errno 63] File name too long 错误

问题根源

你错误地将请求返回的整个JSON文本内容传给了codecs.open()函数,而该函数的第一个参数要求传入文件路径/文件名,不是文件内容。超长的JSON文本被当作文件名处理,直接触发了系统的文件名长度限制,导致报错。

最佳解决方法

方法一:使用requests内置的JSON解析(最简洁)

requests库提供了直接解析JSON响应的方法,无需手动处理文本或文件:

import requests

url = 'https://ratings.food.gov.uk/OpenDataFiles/FHRS314en-GB.json'
response = requests.get(url)
data = response.json()  # 直接解析返回的JSON数据

print('data', data)

方法二:将文本转为类文件对象(适合需要自定义编码处理的场景)

如果需要手动控制编码等细节,可以用io.StringIO把文本内容转换成类文件对象,再传给json.load():

import requests
import json
import io

url = 'https://ratings.food.gov.uk/OpenDataFiles/FHRS314en-GB.json'
response = requests.get(url)

text = response.text
data = json.load(io.StringIO(text))  # 将字符串转为类文件对象供json.load读取

print('data', data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:15:36