python makedirs() 递归创建目录

 更新时间:2024年12月13日 11:39:01   作者:薇远镖局  
os.makedirs()函数用于在Python中递归地创建目录,支持设置权限和处理目录已存在的情况,下面就来具体介绍一下,感兴趣的可以了解一下

在 Python 中,os.makedirs() 函数用于递归地创建目录。也就是说,它不仅会创建指定的目录,还会创建任何必要的父目录。这个函数在处理需要创建多级目录结构时非常有用。

1、语法

os.makedirs(name, mode=0o777, exist_ok=False)

1.1、参数

  • name:要创建的目标目录路径,可以是绝对路径或相对路径。
  • mode(可选):设置目录的权限模式,默认为 0o777(八进制表示),即读、写、执行权限对所有用户开放。
  • exist_ok(可选):如果为 True,当目标目录已经存在时不会引发异常;如果为 False(默认值),当目标目录已经存在时会引发 FileExistsError 异常。

1.2、返回值

  • 该函数没有返回值。

1.3、示例

1.3.1、基本用法

import os
# 创建单级目录
os.makedirs('test_dir')
# 创建多级目录
os.makedirs('parent_dir/child_dir/grandchild_dir')

1.3.2、使用 mode 参数

import os
# 创建目录并设置权限为 0o755
os.makedirs('secure_dir', mode=0o755)

1.3.3、使用 exist_ok 参数

import os
# 创建目录,如果目录已存在则不会引发异常
os.makedirs('existing_dir', exist_ok=True)

1.3.4、错误处理

如果目标目录已经存在且 exist_ok 参数为 False,会引发 FileExistsError 异常:

import os
try:
    os.makedirs('existing_dir')
except FileExistsError:
    print("Directory already exists")

2、实际应用

os.makedirs() 函数在需要确保目录结构存在时非常有用,例如在文件写入操作之前:

import os
def save_file(file_path, content):
    # 提取目录路径
    dir_path = os.path.dirname(file_path)
    # 创建目录(如果不存在)
    os.makedirs(dir_path, exist_ok=True)
    # 写入文件
    with open(file_path, 'w') as file:
        file.write(content)
# 使用示例
save_file('data/output/file.txt', 'Hello, world!')

通过使用 os.makedirs() 函数,可以方便地创建所需的目录结构,从而避免手动检查和创建目录的繁琐过程,提高代码的简洁性和可维护性。

到此这篇关于python makedirs() 递归创建目录的文章就介绍到这了,更多相关python makedirs() 创建目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 打印中文字符的三种方法

    Python 打印中文字符的三种方法

    本文给大家分享三种方法实现python打印中文字符的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • Python下使用Psyco模块优化运行速度

    Python下使用Psyco模块优化运行速度

    这篇文章主要介绍了Python下使用Psyco模块优化运行速度,Psyco模块可以使你的Python程序运行的像C语言一样快,本文给出了多个代码示例,并讲解了Psyco的安装和使用方法,需要的朋友可以参考下
    2015-04-04
  • Dockerfile构建一个Python Flask 镜像

    Dockerfile构建一个Python Flask 镜像

    这篇文章主要介绍了Dockerfile构建一个Python Flask 镜像,对正在学习的你有一定的参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • python如何往列表头部和尾部添加元素

    python如何往列表头部和尾部添加元素

    这篇文章主要介绍了python如何往列表头部和尾部添加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python numpy.power()数组元素求n次方案例

    python numpy.power()数组元素求n次方案例

    这篇文章主要介绍了python numpy.power()数组元素求n次方案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Django自带的用户验证系统实现

    Django自带的用户验证系统实现

    这篇文章主要介绍了Django自带的用户验证系统实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python爬虫开发与项目实战

    Python爬虫开发与项目实战

    本书从基本的爬虫原理开始讲解,通过介绍Pthyon编程语言和Web前端基础知识引领读者入门,之后介绍动态爬虫原理以及Scrapy爬虫框架,最后介绍大规模数据下分布式爬虫的设计以及PySpider爬虫框架等,需要的朋友快来下载电子版吧
    2020-12-12
  • Python制作数据导入导出工具

    Python制作数据导入导出工具

    正好最近在学习python,于是打算用python实现了数据导入导出工具,由于是新手,所以写的有些不完善的地方还请见谅
    2015-07-07
  • django+xadmin+djcelery实现后台管理定时任务

    django+xadmin+djcelery实现后台管理定时任务

    这篇文章主要介绍了django+xadmin+djcelery实现后台管理定时任务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Django的CVB实例详解

    Django的CVB实例详解

    在本篇文章小编给大家整理的是关于Django的CVB实例详解内容,有需要的朋友们可以跟着学习下。
    2020-02-02

最新评论