网站首页 > 技术文章 正文
os.makedirs()方法
python标准库os方法makedirs(),可用于递归创建目录。默认情况下,如果所要创建的目录已经存在,那么python将抛出OSError。其中的“递归”的意思是,如果makedirs()参数指定所要创建的目标目录中的某一个节点路径不存在,则makedirs()会自动创建该节点路径,这是makedirs()与mkdir()方法不同的地方之一。具体的可以看下方的实例代码。
os.makedirs()语法及参数结构
os.makedirs(path, mode=0o777, exist_ok=False)
1、path参数指定os.makedirs()方法所要创建的目录
2、mode参数指定权限模式
3、exist_ok参数默认值为False,即当目标目录已经存在,python抛出OSError。
os.makedirs()返回值
用于创建目录,无返回值。
os.makedirs()实例代码
提示:如下代码是在mac系统中运行输出的:
import os
>>> os.getcwd()
'/Users/z' #这是当前的工作目录
>>> path = '/Users/z/makedirs'
>>> os.makedirs(path) #根据path创建目标目录,可以在对应的路径下查看文件夹是否已创建
>>> os.makedirs(path) #如果目标目录已经创建,那么再次创建,默认情况下将抛出FileExistsError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/anaconda3/lib/python3.7/os.py", line 221, in makedirs
mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/Users/z/makedirs'
>>> os.makedirs(path,exist_ok=True) #如果目标目录已经存在,再次创建,并制定exist_ok为True,python不抛出error
>>> path2 = '/Users/z/makedirs/a/b' #该目标目录中,目标文件夹b和节点路径a这两个文件夹都不存在
>>> os.mkdir(path2) #使用mkdir()方法创建path2目标目录,因为中间的a文件夹并不存在,python抛出FileNotFoundError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/z/makedirs/a/b'
>>> os.makedirs(path2) #使用makedirs()创建path2目标目录,则可递归创建,而不会因为中间的a文件夹不存在而抛出error
>>> os.makedirs(path2) #再次调用makedirs()创建path2目录,python抛出FileExistsError,说明目录已创建成功
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/anaconda3/lib/python3.7/os.py", line 221, in makedirs
mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/Users/z/makedirs/a/b'
python全栈编程:
原文链接:
猜你喜欢
- 2025-07-27 31、零基础Python到全栈-格式化format
- 2025-07-27 零基础Python到全栈-Python文件头
- 2025-07-27 Python web Django快速入门手册全栈版,才2590字,短小精悍
- 2025-07-27 零基础Python到全栈-打开文件(怎么从python中打开文件)
- 2025-07-27 Django+Vue:Python Web全栈开发(python vue3)
- 2025-07-27 花了4万多买的python教程全套,现在分享给大家(python全栈)
- 2025-07-27 花了六万多买的python教程全套,现在分享给大家(python全栈)
- 2025-07-27 花了3万多买的python教程全套,现在分享给大家(python全栈)
- 2025-07-27 Python API 开发:从构建到部署的全栈指南 总结
- 289℃Python短文,Python中的嵌套条件语句(六)
- 285℃PythonNet:实现Python与.Net代码相互调用!
- 283℃python笔记:for循环嵌套。end=""的作用,图形打印
- 281℃Python实现字符串小写转大写并写入文件
- 278℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 138℃原来2025是完美的平方年,一起探索六种平方的算吧
- 123℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 115℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)