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
猜你喜欢
- mysql 索引详解:在mysql 中,索引可以分为两种类型 hash索引和 btree索引。 什么情况下可以用到B树索引?&nb
- 本文主要介绍了pandas针对excel处理的实现,分享给大家,具体如下:读取文件import padasdf = pd.read_csv(
- 一、理论知识准备1.确定假设函数 如:y=2x+7 其中,(x,y)是一组数据,设共有m个2.误差cost 用平方误差代价函数 3.减小误差
- 本文实例讲述了Python实现网络端口转发和重定向的方法。分享给大家供大家参考,具体如下:【任务】需要将某个网络端口转发到另一个主机(for
- 启动IDLE后会打开Python shell窗口。当键入代码 时,它会基于Python语法提供自动缩进和代码着色功能。使用IDLE中的Pyt
- SQL2005的存储过程: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROC
- 本文主要研究的是tornado 多进程模式的相关内容,具体如下。官方文档的helloworld实例中的启动方法:if __name__ ==
- 云平台是个好东西,MySQL-mmm的典型配置是需要五台机器,一台作为mmm admin,两台master,两台slave。一下子找五台机器
- 网络通信中,为了防止长时间无响应的情况,经常会用到网络连接超时、读写超时的设置。本文结合例子简介golang的连接超时和读写超时设置。1.超
- 本文实例讲述了mysql 复制原理与实践应用。分享给大家供大家参考,具体如下:复制功能是将一个mysql数据库上的数据复到一个或多个mysq
- 问题描述输入一串字符,由字母、数字和空格组成,长度 < 1000, 判断其中是否存在日期格式的数据。日期格式的数据具有如下的特征,连续
- COOKIE函数库:cookie.inc.php3 <?php if (!isset($__cookie_inc__)){ $__co
- 前言python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候s = 'i\'m superman'
- 前言:本篇博客要采集的站点:【看历史,通天下-历史剧网】目标数据是该站点下的热门历史事件,列表页分页规则如下所示:http://www.li
- 本文实例讲述了关于php中SimpleXML 函数的用法,此函数是允许您把 XML 转换为对象,分享给大家供大家参考。具体分析如下:Simp
- 前言对Python游戏有所了解的朋友都知道,在2D的游戏制作中,经常会用到一个模块pygame,他能帮助我们实现很多方便使用的功能,例如绘制
- 背景最近本菜鸡在学习 python GUI,从 tkinter 入门,想先做个小软件练习一下思来想去,决定做一个 计算器设计思路首先,导入我
- 本文实例讲述了Linux下安装Memcached服务器和客户端与php使用。分享给大家供大家参考,具体如下:Memcached是高性能的分布
- 在使用Celery统计每日访问数量的时候,发现一个任务会同时执行两次,发现同一时间内(1s内)竟然同时发送了两次任务,也就是同时产生了两个w
- Win8.1下安装Python3.6提示0x80240017错误,如何解决?定位原因缺少Windows补丁KB2999226解决方法到Mic