标题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