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

如何将PDF转为Base64后动态添加到JSON数组中

实现方案

你可以预先初始化一个空列表存储最终的结构数据,每次遍历到PDF文件时,构造符合要求的字典对象追加到列表中即可,不管目录下有1个还是多个PDF都能自动适配,不需要提前定义固定数量的变量。

完整可运行代码示例:

import base64
import json

# 假设files是你获取到的当前目录下所有文件列表
# 用lower()兼容大写PDF后缀的情况
files = [f for f in files if f.lower().endswith('pdf')]
pdf_data_list = []

for f in files:
    # 用with上下文管理器打开文件,自动释放文件句柄,避免资源泄漏
    with open(f, 'rb') as fp:
        data = fp.read()
    encoded_data = base64.b64encode(data).decode('UTF-8')
    # 构造单文件的字典结构,追加到列表
    pdf_data_list.append({
        "name": f,
        "data": encoded_data,
        "ContentType": "application/octet-stream"
    })

# 如果需要导出为JSON字符串可直接调用dumps方法
result_json = json.dumps(pdf_data_list, indent=2, ensure_ascii=False)

最终得到的pdf_data_list完全符合你要求的结构,文件数量会自动和目录下的PDF数量保持一致,不会出现单文件时运行失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 00:57:03