Error opening file a bytes-like object is required,not ‘NoneType‘

错误显示,打开的是一个无效路径的文件

查看json文件内容,索引的路径与json文件保存的路径不同

方法:使用python脚本统一修改json文件路径


import json
import os
import argparse
import cv2
from tqdm import tqdm
import numpy as np
import pandas as pd

 
 
# 获取json里面数据
def get_json_data(path):
    with open(path, 'r', encoding='utf-8') as f:  # 使用只读模型,并定义名称为f
        params = json.load(f)  # 加载json文件
        params["imagePath"]=params["imagePath"].split("\\")[-1]
    return params  # 返回修改后的内容
 
 
# 写入json文件
def write_json_data(params,path,indent=4):
    data = json.dumps(params, indent=1)
    with open(path, 'w', newline='\n') as r:
        # 将dict写入名称为r的文件中
       r.write(data)
 
 

if __name__ == "__main__":

    parser = argparse.ArgumentParser(description='json convert to txt params')
    parser.add_argument('--json-dir', type=str, default=r"C:\Users\admin\Desktop\data\", help='json path dir')#标签路径

    args = parser.parse_args()
    json_dir = args.json_dir



    # 调用两个函数,更新内容
    json_paths = os.listdir(json_dir)    
    for json_path in tqdm(json_paths):
        if '.json' in json_path:
            path = os.path.join(json_dir,json_path)
            params = get_json_data(path)
            write_json_data(params,path)
     

修改图示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/574579.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

组合优于继承:什么情况下可以使用继承?

C设计模式专栏:http://t.csdnimg.cn/8Ulj3 目录 1.引言 2.为什么不推荐使用继承 3.相比继承,组合有哪些优势 4.如何决定是使用组合还是使用继承 1.引言 面向对象编程中有一条经典的设计原则:组合优于继承,也常被描述为多用组合&#xff0…

JavaScript原理篇——深入理解作用域、作用域链、闭包、this指向

执行上下文描述了代码执行时的环境,包括变量对象、作用域链和 this 值;而作用域则决定了变量和函数的可访问性范围,分为全局作用域和局部作用域。 变量对象用于存储变量和函数声明:是与执行上下文相关联的数据结构,用于…

USB设备的音频类UAC

一、UAC简介 UAC(USB Audio Class)是USB设备的音频类,它定义了USB音频设备与主机计算机通信的方式。UAC标准是USB规范的一部分,并受到各种操作系统(包括Windows、macOS和Linux)的支持。 UAC是基于libusb,实…

代码随想录算法训练营第五十一天| 309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费,总结

题目与题解 参考资料:买卖股票总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳买卖股票时机含冷冻期 代码随想录题解:309.最佳买卖股票时机含冷冻期 视频讲解:动态规划来决定最佳时机,这次有冷冻期!|…

【自然语言处理】InstructGPT、GPT-4 概述

InstructGPT官方论文地址:https://arxiv.org/pdf/2203.02155.pdf GPT-4 Technical Report:https://arxiv.org/pdf/2303.08774.pdf GPT-4:GPT-4 目录 1 InstructGPT 2 GPT-4 1 InstructGPT 在了解ChatGPT之前,我们先看看Instr…

k8s pod 无法启动一直ContainerCreating

情况如下,更新 pod 时,一直在ContainerCreating 查看详细信息如下 Failed to create pod sandbox: rpc error: code Unknown desc [failed to set up sandbox container “334d991a478b9640c66c67b46305122d7f0eefc98b2b4e671301f1981d9b9bc6” networ…

Jsoncpp搭建交叉编译环境(移植到arm)

1. 官网下载源码 github地址:GitHub - open-source-parsers/jsoncpp at update 2. 交叉编译环境 当前平台/开发平台-编译环境: [rootlocalroot ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalroot ~]# uname -a Lin…

Django框架之Django安装与使用

一、Django框架下载 首先我们需要先确定好自己电脑上的python解释器环境,否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。 要下载Django并开始使用它,你可以按照以下步骤进行: 1、安装Python 首先,确保你的计算…

C/C++开发,opencv-ml库学习,支持向量机(SVM)应用

目录 一、OpenCV支持向量机(SVM)模块 1.1 openCV的机器学习库 1.2 SVM(支持向量机)模块 1.3 支持向量机(SVM)应用步骤 二、支持向量机(SVM)应用示例 2.1 训练及验证数据获取 2…

报错:OpenGL.error.NullFunctionError: Attempt to call an undefined function”

文件我已经上传 CSDN默认就是收费的 我修改不了 免费链接在文中 请寻找 OpenGL.error.NullFunctionError: Attempt to call an undefined function” 环境陈述: windows11 AMD-R9 python版本3.9.9 背景: 通过pip安装pip install PyOpenGL安装PyOpenGL模块后 运行出现的问题…

NLP Step by Step -- How to use pipeline

正如我们在摸鱼有一手:NLP step by step -- 了解Transformer中看到的那样,Transformers模型通常非常大。对于数以百万计到数千万计数十亿的参数,训练和部署这些模型是一项复杂的任务。此外,由于几乎每天都在发布新模型&#xff0c…

数据挖掘实验一

一、实验环境及背景 使用软件: Anaconda3 Jupyter Notebook 实验内容: 1.使用Tushare或者其他手段获取任意两支股票近三个月的交易数据。做出收盘价的变动图像。2.使用Pandas_datareader获取世界银行数据库中美国(USA)、瑞典&…

Windows电脑中护眼(夜间)模式的开启异常

我的电脑是联想小新16pro,Windows11版本。之前一直可以正常使用夜间模式,但是经过一次电脑的版本更新之后,我重启电脑发现我的夜间模式不能使用了。明明显示开启状态,但是却不能使用,电脑还是无法显示夜间模式。 询问…

基于Spring Boot的考研资讯平台设计与实现

基于Spring Boot的考研资讯平台设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统功能界面图,在系统首页可以查看首页、考…

【Qt QML】TabBar的用法

Qt Quick中的TabBar提供了一个基于选项卡的导航模型。TabBar由TabButton控件填充,并且可以与任何提供currentIndex属性的布局或容器控件一起使用,例如StackLayout或SwipeView。 import QtQuick import QtQuick.Controls import QtQuick.LayoutsWindow …

FPGA实现AXI4总线的读写_如何写axi4逻辑

FPGA实现AXI4总线的读写_如何写axi4逻辑 一、AXI4 接口描述 通道信号源信号描述全局信号aclk主机全局时钟aresetn主机全局复位,低有效写通道地址与控制信号通道M_AXI_WR_awid[3:0]主机写地址ID,用来标志一组写信号M_AXI_WR_awaddr[31:0]主机写地址&…

贪吃蛇身子改进加贪吃蛇向右移动

1. 蛇移动的思想: 其实就是删除头节点 ,增加尾节点;一句代码搞定 struct Snake *p; p head; head head -> next; free(p) 防止造成多的空间节点 2.增加尾节点代码思想: 2.1 .开辟new 节点的空间 struct Snake *new (stru…

每日OJ题_DFS回溯剪枝①_力扣46. 全排列(回溯算法简介)

目录 回溯算法简介 力扣46. 全排列 解析代码 回溯算法简介 回溯算法是一种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想:从一个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态无…

Quarto Dashboards 教程 3:Dashboard Data Display

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度,分享官方文档的中文教程。软件可能随时更新,建议配合官方文档一起阅读。推荐先按顺序阅读往期内容: 1.quarto 教程 1:Hello, Quarto 2.qu…

耐酸碱腐蚀PFA冷凝回流装置进口透明聚四氟材质PFA梨形漏斗特氟龙圆底烧瓶

PFA分液漏斗:也叫特氟龙分液漏斗、特氟龙梨型分液漏斗。 规格参考:125ml、250ml、500ml、1000ml 其主要特性有: 1.内壁对溶剂无粘贴性和吸附,可完全排空,分界面清晰可见; 2.密封性好,可防止…