Python os.mkdir()与os.makedirs()的使用区别
作者:威震四海 发布时间:2023-08-19 20:01:56
标签: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.path和os.makedirs的运用(判断文件或文件夹是否存在,创建文件夹)
import os
import numpy as np
data = np.array([1, 2, 3])
if not os.path.exists("./data/"):
print("# path not exists")
os.makedirs("./data/")
if not os.path.exists("./data/data.npy"):
print("# data.npy not exists")
np.save("./data/data.npy", data)
print("# path exists? :", os.path.exists("./data/"))
print("# data.npy exists? :", os.path.exists("./data/data.npy"))
运行结果:
# path not exists
# data.npy not exists
# path exists? : True
# data.npy exists? : True
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/Beyond_F4/article/details/80430911
0
投稿
猜你喜欢
- 我用FSO生成了unicode的文件,但这不是我想要的。FSO可以生成utf-8格式编码的html文件吗?用什么办法才能生成?FSO的编码问
- Francesc (@francesc) 是 Go 核心团队的一员, 是提倡 Google Cloud 平台的开发者. 他是一个编程语言的爱
- 经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,
- 本文主要内容:聚类算法的特点聚类算法样本间的属性(包括,有序属性、无序属性)度量标准聚类的常见算法,原型聚类(主要论述K均值聚类),层次聚类
- 导读:最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由da
- 最近央视新闻记者王冰冰以清除可爱和专业的新闻业务水平深受众多网友喜爱,b站也有很多up主剪辑了关于王冰冰的视频。我们都是知道b站是一个弹幕网
- 本文实例讲述了PHP开发之归档格式phar文件概念与用法。分享给大家供大家参考,具体如下:一个php应用程序往往是由多个文件构成的,如果能把
- 前言我们知道,enigma机是德军二战中重要的情报加密机器,其有许多特点。首先,它是一台加解密一体机其次,它有排己性,虽然多次输入同一明文可
- 遍历指定文件夹下的文件,根据文件后缀名,获取指定类型的文件列表;根据文件列表里的文件路径,逐个获取文件属性里的“修改时间”,如果“修改时间”
- Opera, 作为 A-Grade 浏览器,在现在的前端开发中务必支持。它很优秀,很不幸,bug是每个浏览器都不可避免的问题,Opera亦难
- 在python中启动和关闭线程:首先导入threadingimport threading然后定义一个方法def serial_read()
- 上次谈到客户端和服务端的编码“陷阱”,其中对url编码只是提及带过,并没有做深入讨论,事实上由于浏览器环境的复杂和不一致性,我们也很容易掉进
- 1、find(sub[, start[, end]])在索引start和end之间查找字符串sub找到,则返回最左端的索引值,未找到,则返回
- 进入:直接输入python即可,如图所示退出:1:输入exit(),回车2:输入quit(),回车3:输入ctrl+z,回车来源:https
- 对于时间数据,如2018-09-25 09:28:59,有时需要与Unix时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python
- 几天前,想把上个月校园招聘的餐旅费报销一下。结果在公司内网的报销系统折腾了三个半小时才搞定。看看自己报销的金额:802块。觉得挺无奈,花了三
- 中间件是一个钩子框架,它们可以介入 Django 的请求和响应处理过程。 它是一个轻量级、底层的 插件 系统,用于在 全局修改 Django
- 1、pyqtgraph库数据可视化效果还不错,特别是窗体程序中图像交互性较好;安装也很方便,用 pip 安装。2、在Python中新建一个
- 本文实例讲述了Python快速排序算法。分享给大家供大家参考,具体如下:快速排序的时间复杂度是O(NlogN)算法描述:① 先从序列中取出一
- 具体代码和说明如下:upload.asp<form action=http://<%= Request.&n