FileNotFoundError: [Errno 2] 问题产生原因“之一”及解决办法

标题FileNotFoundError: [Errno 2] 问题产生

在进行python程序创建文件夹的时候(如下代码),

#!/bin/python3.8

import os

goal="/media/user/Element/temp1/temp2/"
os.makedirs("%s/temp3"%(goal))

运行后一直报 FileNotFoundError: [Errno 2]
找不到“/media/user/Element/temp1/temp2/temp3”这个文件/文件夹。

1.os.mkdir() 与 os.makedirs()

自然我去搜索了这个问题,首先搜索到的是,os.mkdir() 和 os.makedirs() 这两者的区别问题,
其中
os.mkdir
语法格式:
os.mkdir(path, mode=0o777, *, dir_fd=None)
需要加一个if语句判断是否存在以保证文件夹存在时不因此出中断

os.makedirs
语法格式:
os.makedirs(name, mode=0o777, exist_ok=False)
当exist_ok=False是会直接报错并中断运行

简单来说,os.mkdir()只能创建已有目录下一级的目录,
例如已存在“/media/user/Element/temp1/”,
只能创建"/media/user/Element/temp1/temp2/",
而不能创建"/media/user/Element/temp1/temp2/temp3"

os.makedirs()可以创建任何一级的目录,在实际使用中更加方便快捷。

但是在上述代码中的问题并不是因此产生的。

2. exFAT硬盘在ubuntu16.04中的权限问题

经过多次测试后发现,是因为Elements硬盘并没有给予user 777 权限的问题,故无法创建文件夹,所以持续报错

解决方法:

1.使用一个ntfs或者FAT格式完全支持ubuntu 16.04 内核“chmod 777 ”给予权限的硬盘
2.下载 fuse-exfat 和 exfat-utils 两个包后,对exFAT硬盘进行权限编辑。

sudo apt-get update
sudo apt-get install fuse-exfat exfat-utils
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值