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

使用Hugging Face datasets加载本地json报文件名过长错误如何解决

问题原因

这个错误是Hugging Face Datasets库生成缓存文件时,自动拼接的缓存文件名长度超过了操作系统的单文件名字符数限制(Linux下ext4文件系统默认单文件名最大长度为255字符),你报错信息中的lock文件名称过长,因此触发OSError 36。
你的JSON文件格式合法,不需要调整文件内容,只需要修改缓存配置即可解决问题。

解决方案
  • 方案1:单次指定短路径缓存目录(最便捷)
    在加载数据集时手动指定一个层级少、路径短的本地缓存目录即可:
from datasets import load_dataset
import os
# 提前创建短路径缓存文件夹
os.makedirs("./hf_cache", exist_ok=True)
dataset = load_dataset('json', data_files=['./100009.json'], cache_dir="./hf_cache")
  • 方案2:全局修改默认缓存目录
    如果需要批量处理多个数据集,可以修改Hugging Face Datasets的全局缓存路径,在运行代码前执行终端命令设置环境变量:
    export HF_DATASETS_CACHE="./hf_cache"
    如果需要永久生效,可将上述命令添加到~/.bashrc(bash环境)或~/.zshrc(zsh环境)文件中,重启终端后生效。
  • 方案3:禁用数据集缓存
    如果不需要保留缓存的预处理数据,可以直接关闭缓存功能:
from datasets import load_dataset
dataset = load_dataset('json', data_files=['./100009.json'], cache_dir=None)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 22:06:04