AYu~ 2023-05-16 20:25 采纳率: 50%
浏览 27
已结题

已删除文件名中的中文,但是运行程序时还是读取的包含中文的文件名

问题背景:我有六张jpg图片和其对应的六个json文件作为自己的数据集,其中第3、4张jpg图片和第其对应的第3、4个json文件在保存时文件名中包含了中文,我在运行代码前已通过重命名的方式将文件名中的中文删除,文件名中也不存在特殊字符。现在我需要将这个数据集由json格式转换为voc格式,我参考了:https://blog.csdn.net/brf_UCAS/article/details/112383547?%ra=title这篇文章的方法。前面的第1、2步修改 json_to_dataset.py文件和 label.py 文件我没有做,直接从第三步开始。于是在配置好基本的环境以及按照参考文章的要求准备好data_annotated 文件夹和 labels.txt文件后,我下载了labelme2voc.py的代码。

问题描述:在运行lableme2voc.py时,前面的第1、2张图片和其对应的第1、2个json文件完全转换正常,一到第3张图片就开始报错,报错内容:

img

根据报错内容显示,第3个文件路径出现问题,报错内容后面显示的文件路径是修改前的含中文和特殊字符的文件名,但是我明明已经通过重命名的方式将文件名中的中文和特殊字符全部删除了。后来我尝试了删掉第3个文件,同样的运行到第4个文件时出现一样的报错。最后我尝试了将第3、4张jpg图片和第其对应的第3、4个json文件全部删除,这样的话数据集里面剩下的文件都是文件名中原始就不包含中文和特殊字符的4个文件(没有经过重命名对文件名进行修改),运行labelme2voc.py文件时这4个文件的数据格式转换成功。

疑问:为什么我已经将文件名中的中文和特殊字符通过重命名的方式删除,但是运行labelme2voc.py代码时还是会按照没修改前的包含中文的文件名来打开导致报错?

  • 写回答

1条回答 默认 最新

  • 爱晚乏客游 2023-05-17 09:55
    关注

    json文件里面有个图片名的变量imagePath你没有修改吗。
    另外,如果真的带中文,可以用PIL读取的,这个支持中文路径,你代码里面已经是了,但是就是你把原先的中文改掉了,json里面的imagePath中文没改,找不到对应的中文路径了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 c#转安卓 java html
  • ¥15 os.listdir文件路径找不到
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低
  • ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777
  • ¥50 医院HIS系统代码、逻辑学习
  • ¥30 docker离线安装mysql报错,如何解决?
  • ¥15 构建工单的总账影响在哪里查询或修改
  • ¥15 三个简单项目写完之后有重赏之后联系我
  • ¥15 python报内存不能read错误