在 python 中读取 JSON 时出现意外结果

Unexpected outcome while reading JSON in python

提问人:dhanushkkar 提问时间:6/22/2023 最后编辑:D.Ldhanushkkar 更新时间:6/22/2023 访问量:48

问:

总结:我正在尝试编写一个简单的 py 脚本,该脚本将遍历每个图像文件夹中的所有 json 文件,找到 PhotoImgID 与图像名称相同的 json,并重命名图像以匹配 JSON 中的“Name”字段\

法典:

with open(json_path, 'r') as file:
                    try:
                        json_data = json.load(file)

                        # Check if the JSON data contains the required fields
                        if all(field in json_data for field in ['Name', 'PhotoImgID']):
                            photo_img_id = json_data['PhotoImgID']

                            # Check if the photo ID matches the JSON's PhotoImgID
                            if photo_id == photo_img_id:
                                new_filename = json_data['Name'] + os.path.splitext(photo_path)[1]  # Generate new filename
                                new_photo_path = os.path.join(photo_folder, new_filename)

                                # Rename the photo
                                shutil.move(photo_path, new_photo_path)
                                match_found = True
                                break  # Stop searching JSON files once a match is found

                    except (json.JSONDecodeError, KeyError) as e:
                        print(f'Error processing {json_path}: {e}')

            if not match_found:
                not_found_photos.append(filename)`

我遇到了什么错误?

每张照片都失败

非常感谢任何帮助!

Nushell:我正在尝试编写一个简单的 py 脚本,该脚本拍摄照片、读取其名称、查找具有相应名称的 json 文件并重命名照片以匹配 JSON 中的“名称”字段。

示例 JSON: { "Name": "Adhithya G", "SecName": "A", "DeptCode": "CSE", "Sex": "F", "PhotoImgID": "6368f927d6c5dfea4ca57c62" }

python json python-3.x 文件

评论

0赞 D.L 6/22/2023
“相应的名称”是什么意思?请说清楚。也许提供示例:stackoverflow.com/help/how-to-ask
0赞 dhanushkkar 6/22/2023
例如:Image_name = 'cool_image.png'。我想找到在“PhotoImgID”字段中具有“cool_image”的json文件。每个 JSON 文件有 4 个字段:Name、SecName、DeptCode、和 PhtoImgID。我想从该特定的JSON文件中获取“名称”字段,并据此重命名照片。希望这更清楚

答: 暂无答案