问题
今天使用 python os.mkdir创建目录时遇到的一个小问题:
if not os.path.exists(out_dir):
os.makedirs(out_dir)
结果提示错误: File "demo3.py", line 45, in main
os.mkdir(out_dir)
FileNotFoundError: [Errno 2] No such file or directory: '/home/cv/mmdetection/outputs/ps_bx/bad'
原因
查了一下原因,发现是因为上一级目录 system 也没有创建的缘故。
具体原因,如下:
1.mkdir( path [,mode] )
作用:创建一个目录,可以是相对或者绝对路径,mode的默认模式是0777。
如果目录有多级,则创建最后一级。如果最后一级目录的上级目录有不存在的,则会抛出一个OSError。
2.makedirs( path [,mode] )
作用: 创建递归的目录树,可以是相对或者绝对路径,mode的默认模式也是0777。
如果子目录创建失败或者已经存在,会抛出一个OSError的异常,Windows上Error 183即为目录已经存在的异常错误。如果path只有一级,与mkdir一样。
解决
解决方法:
1、先创建 system,再创建 feature;
2、直接使用 os.makedirs(feature_dir)。