Python 如何将所有JSON文件从folder1和folder2复制到第三个文件夹中?

Python 如何将所有JSON文件从folder1和folder2复制到第三个文件夹中?,python,json,python-3.x,Python,Json,Python 3.x,我在两个文件夹中有很多json,需要添加在一起的json名称是相同的。 它们必须像folder1/1.json folder2/2.json那样添加。因为当前脚本只是按名称添加它们 folder1/ 1.json 2.json folder2/ 1.json 2.json folder3/ 1.json(info from folder1 and folder2) 我的脚本按名称添加,但需要按文件夹添加 import json with ope

我在两个文件夹中有很多json,需要添加在一起的json名称是相同的。 它们必须像folder1/1.json folder2/2.json那样添加。因为当前脚本只是按名称添加它们

folder1/
   1.json
   2.json

folder2/
   1.json
   2.json

folder3/
  1.json(info from folder1 and folder2)
我的脚本按名称添加,但需要按文件夹添加

import json
    
    with open("folder1") as fin1:
        data1 = json.load(fin1)
    with open("folder2") as fin2:
        data2 = json.load(fin2)
    new_json = [data1,data2]
    with open("folder3", "w") as fin3:
        json.dump(new_json, fin3)

根据要求编辑答案

导入操作系统 导入json f1\u名称='文件夹\u 1' f2_名称='文件夹_2' f3_名称='文件夹_3' f1\u files=os.listdirf1\u名称 f2_files=os.listdirf2_名称 对于f1_文件中的f: 如果f.endswith'.json'和f在f2_文件中: 打开“%s/%s”%f1_名称,f,'r'作为fo: tmp_f1=json.loadfo 打开“%s/%s”%f2_名称,f,'r'作为fo: tmp_f2=json.loadfo tmp_f3={**tmp_f1,**tmp_f2} 打开“%s/%s”%f3_名称,f,“w”作为fo: json.dumptmp_f3,fo
根据要求编辑答案

导入操作系统 导入json f1\u名称='文件夹\u 1' f2_名称='文件夹_2' f3_名称='文件夹_3' f1\u files=os.listdirf1\u名称 f2_files=os.listdirf2_名称 对于f1_文件中的f: 如果f.endswith'.json'和f在f2_文件中: 打开“%s/%s”%f1_名称,f,'r'作为fo: tmp_f1=json.loadfo 打开“%s/%s”%f2_名称,f,'r'作为fo: tmp_f2=json.loadfo tmp_f3={**tmp_f1,**tmp_f2} 打开“%s/%s”%f3_名称,f,“w”作为fo: json.dumptmp_f3,fo
假设“folder1”、“folder2”和“folder3”是指向相关目录的路径,则:

from pathlib import Path
import json

for path in Path('folder1').glob('*.json'):
    dir, file_name = path.parent, path.name
    with path.open() as f1, open('folder2/' + file_name) as f2, open('folder3/' + file_name, 'w') as f3:
        data1 = json.load(f1)
        data2 = json.load(f2)
        # do processing
        json.dump(new_json, f3)

根据文件内容,您可能必须在打开的调用中添加一个编码参数,例如encoding='utf-8'。

假设“folder1”、“folder2”和“folder3”是指向相关目录的路径,则:

from pathlib import Path
import json

for path in Path('folder1').glob('*.json'):
    dir, file_name = path.parent, path.name
    with path.open() as f1, open('folder2/' + file_name) as f2, open('folder3/' + file_name, 'w') as f3:
        data1 = json.load(f1)
        data2 = json.load(f2)
        # do processing
        json.dump(new_json, f3)

根据文件内容,您可能需要在打开的调用中添加一个编码参数,例如encoding='utf-8'。

在复制之前,我还需要添加来自JSON的信息。我还需要添加来自JSON的信息,在复制它们之前。pathlib.Path通常比操作系统函数更好用。pathlib.Path通常比操作系统函数更好用。