【科研小小白】PermissionError: [Errno 13] Permission denied: ‘D:/Project/DataSet-1/UAV‘错误【已解决】

错误代码

Traceback (most recent call last):
File “D:_software\codeSoftware\pythonProject\main.py”, line 143, in
voc2coco.parse_voc_annotation()
File “D:_software\codeSoftware\pythonProject\main.py”, line 106, in parse_voc_annotation
with open(self.output_coco_path, ‘w’) as f:
PermissionError: [Errno 13] Permission denied: ‘D:/Project/roadDamageDataSet-1/UAV’
在这里插入图片描述

错误原因

权限错误:[errno 13]权限被拒绝:

错误产生的原因是文件无法打开,可能产生的原因是文件找不到,或者被占用,或者无权限访问,或者打开的不是文件,而是一个目录。

解决方案

解决方案如下:

1.检查对应路径下的文件是否存在,且被占用。如果文件不存在,就找到对应文件即可;如果文件存在,被占用,将占用程序暂时关闭。

2.修改cmd的权限,以管理员身份运行。

3.检查是否是打开了文件夹。

4.文件夹属于只读属性
在这里插入图片描述
在重复了1-3之后都无用,就开始使用4地方法,出现了第二个问题就是没有办法保存只读属性的选项。

5.你看看你有没有在文件路径里忘记写文件名字了!!!!!!!!!!!!!!!!!!!!!!!
本人代码:

    # annocation
    output_coco_path = 'D:/Project/DataSet-1/UAV
    
    with open(self.output_coco_path, 'w+') as f:
            json.dump(self.data, f,indent=4)

在路径后面加了json文件就运行成功了!!!:

    # annocation
    output_coco_path = 'D:/Project/DataSet-1/UAV/CRNN_coco.json
    
    with open(self.output_coco_path, 'w+') as f:
            json.dump(self.data, f,indent=4)

此处open函数需要打开一个json文件名才可以写入,如果文件不存在它也可以根据文件名去创建,但是什么都不写只有文件夹无含名字的json文件名是万万不可的…………所以本质上是属于1.类问题,需要提供open函数一个文件参数而不是文件夹。
小小问题卡了一晚上,希望大家不要遇到同样的粗心错误:(

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值