python中的os.mkdir和os.makedirs的使用区别及如何查看某个模块中的某些字母开头的属性方法
作者:点亮~黑夜
python中的os.mkdir和os.makedirs的使用区别以及如何查看某个模块中的某些字母开头的属性方法
1 os.mkdir的使用
os.mkdir(dir_name)
:用于新建文件夹
,当要新建的文件夹已经存在的时候,就会报错:FileExistsError: [Errno 17] File exists:
因此,我们一般在新建一个文件夹的时候,会和os.path.exists()
集合使用,如下:
1、判断一个文件夹是否存在
,如果不存在就新建它,如果已经存在就跳过:
dir_name = "./images" if not os.path.exists(dir_name): os.mkdir(dir_name)
2 os.makedirs的使用
os.makedirs(dir_name2, exist_ok=True)
:功能和os.mkdir一样也是用于新建文件夹,但是使用起来更方便,功能也更多一点
- os.makedirs:可以递归的创建多个文件夹
- os.makedirs:的exist_ok参数设置为
True
时,可以自动判断当文件夹已经存在就不创建
如下,是递归的新建目录:images/imgs2
dir_name2 = "./images2/imgs2" os.makedirs(dir_name2, exist_ok=True)
3 查看某个模块中的某些字母开头的属性方法
- 利用
dir(module_name)
先查看模块的所有方法和属性 - 结合列表生成式和if语句判断某个字母开头的方法和属性
例如,下面是查看opencv模块中的所有颜色空间转换的属性
import cv2 cvtCOLORS = [color for color in dir(cv2) if color.startswith("COLOR_")] print(cvtCOLORS)
打印出opencv中的所有颜色空间相关的属性。
补充:Python中os.mkdir()与os.makedirs()的区别及用法
os.makedir(path)和os.makedirs(path) 今天工作中将hadoop文件同步到服务器磁盘,由于文件类别目录较多,迁移文件时需要判断是否存在 这里有两个方法os.mkdir(path)和os.makedirs(path)
首先说os.mkdir(path),他的功能是一级一级的创建目录,前提是前面的目录已存在,如果不存在会报异常,比较麻烦,但是存在即有他的道理,当你的目录是根据文件名动态创建的时候,你会发现他虽然繁琐但是很有保障,不会因为你的一时手抖,创建而创建了双层或者多层错误路径,
import os os.mkdir('d:\hello') # 正常 os.mkdir('d:\hello\hi') # 正常 # 如果d:\hello目录不存在 # 则os.mkdir('d:\hello\hi')执行失败
然后是os.makedirs(path),单从写法上就能猜出他的区别,他可以一次创建多级目录,哪怕中间目录不存在也能正常的(替你)创建,想想都可怕,万一你中间目录写错一个单词.........
import os os.makedirs('d:\hello') # 正常 os.makedirs('d:\hello\hi') # 正常 # 如果d:\hello目录不存在 # 则os.makedirs('d:\hello\hi') # 仍然正常
各有优缺点,根据自己需要选择使用
到此这篇关于python中的os.mkdir和os.makedirs的使用区别及如何查看某个模块中的某些字母开头的属性方法的文章就介绍到这了,更多相关python os.mkdir和os.makedirs使用区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!