python中的os.mkdir和os.makedirs的使用区别及如何查看某个模块中的某些字母开头的属性方法

作者:点亮~黑夜 时间:2021-04-15 08:05:47 

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')  #  仍然正常

各有优缺点,根据自己需要选择使用

来源:https://blog.csdn.net/weixin_41010198/article/details/115912206

标签:python,os.mkdir,os.makedirs
0
投稿

猜你喜欢

  • python 创建一维的0向量实例

    2021-09-06 22:29:50
  • 可视化工具PyVista多线程显示多窗口的实例代码

    2023-03-17 07:46:28
  • JS实现pasteHTML兼容ie,firefox,chrome的方法

    2023-09-21 01:55:10
  • python实现简单的学生管理系统

    2022-11-25 08:34:04
  • 一步步解析Python斗牛游戏的概率

    2021-05-03 05:17:27
  • 深入浅出SQL之左连接、右连接和全连接

    2009-08-30 15:14:00
  • 开发心得--写给想学Javascript朋友的一点经验之谈

    2009-02-25 11:42:00
  • asp三天学好ADO对象之第三天

    2008-10-09 12:53:00
  • Python列表(List)知识点总结

    2023-11-04 00:01:35
  • Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法

    2021-09-08 13:23:14
  • python3 pathlib库Path类方法总结

    2022-06-10 18:38:11
  • python读取和保存图片5种方法对比

    2022-05-27 23:54:32
  • python DataFrame数据格式化(设置小数位数,百分比,千分位分隔符)

    2021-02-03 21:34:10
  • 关于pycharm中pip版本10.0无法使用的解决办法

    2021-08-27 15:30:47
  • Access数据库用另一种方式管理密码

    2008-10-13 12:25:00
  • 进一步了解Python中的XML 工具

    2022-06-25 21:49:17
  • 如何在SQL Server数据库中加密数据

    2008-12-18 14:27:00
  • 关于tensorflow的几种参数初始化方法小结

    2023-10-15 12:05:26
  • Python中Dataframe元素为不定长list时的拆分分组

    2023-11-08 04:16:30
  • Python调用Tkinter示例浅析

    2022-04-30 02:53:32
  • asp之家 网络编程 m.aspxhome.com