Python 将pdf转换为base64并附加到json数组中

Python 将pdf转换为base64并附加到json数组中,python,json,Python,Json,我的目录中有一个两个pdf文件 我想根据回购协议中可用的pdf数量存储数据。因为有两个PDF,所以它是 [{ "name" : "filename1", "data" : encoded_data1, "ContentType": "application/octet-stream"}, { "name" : "filename2", &

我的目录中有一个两个pdf文件

我想根据回购协议中可用的pdf数量存储数据。因为有两个PDF,所以它是

[{ "name" : "filename1",
   "data" : encoded_data1,
   "ContentType": "application/octet-stream"},
 { "name" : "filename2",
   "data" : encoded_data2,
   "ContentType": "application/octet-stream"}
]
如果只有一个pdf,那么json数组应该是

[{ "name" : "filename1",
   "data" : encoded_data1,
   "ContentType": "application/octet-stream"}
]
我正在阅读pdf并转换成base64格式

files = [f for f in files if f[-3:] == 'pdf']

for f in files:
       data = open(f, 'rb').read()
       encoded_data = base64.b64encode(data).decode('UTF-8')

我试图将pdf的编码数据存储在一个变量中,但它被重写了。是否有其他方法,我可以动态地实现这一点。因为为两个文件创建两个变量并附加数据是如此静态,如果只有一个文件,也会失败。

“……但它会被重写。”-重写了什么<代码>编码数据?当然,当您在for循环的每次迭代中重写它时,它会被重写。您是否试图实现类似于
encoded_data=[]
(置于for循环之前)和
encoded_数据的功能。将(…)
附加到for循环内部而不是
encoded_data=…
?但是如何实现类似于json数组的所有细节呢?我的问题是,我必须用PDF的数据创建一个json数组。我在创建json键值对并在数组中逐个文件进行追加时遇到问题。在for循环中向某些对象追加a?@Vepir谢谢,我找到了解决方案。