Python之os.mkdir()与os.makedirs()

本文详细解析了Python中os.mkdir()与os.makedirs()两个函数的功能差异。os.mkdir()仅创建单级目录,若父目录不存在则会抛出错误;os.makedirs()可递归创建多级目录,适用于完整路径不存在的情况。通过实际代码示例展示了两者的使用场景。

源于: 执行类代码 --MainOne.py – 函数dataclf


import os

path = r'C:\Users\zhf\Desktop\test\path_01\path_02\path_03'
try:
    os.mkdir(path)
    print(u'第一次创建成功!')
except:
    print(u'第一次创建失败!'
`os.makedirs()` 和 `os.mkdir()` 都是 Python 中用于创建目录的操作,但是它们之间存在一些关键的区别: 1. **功能**: - `os.mkdir(path)`:这个函数用于单个目录的创建。如果路径不存在,它会尝试创建该目录;如果路径已经存在,它会抛出一个异常。 - `os.makedirs(path, exist_ok=True|False)`:这个函数可以递归地创建多级目录。如果目标路径中的所有父目录都不存在,它会依次尝试创建直到达到目标路径。如果指定 `exist_ok=True` 参数,那么如果某个中间目录已存在则不会引发错误,而是直接跳过;如果不指定或者设为 `False`,则所有不存在的上级目录都会尝试创建,若其中任何一个无法创建,则整个操作失败并抛出异常。 2. **安全性**: - `mkdir` 更安全,因为它只处理单个目录的创建,如果目录已存在,程序会停止。 - `makedirs` 提供了更大的灵活性,特别是当你不确定路径是否存在的情况下,可以避免因某一级目录已存在而中断整体操作。 3. **递归创建**: - 当需要创建多级目录时,`makedirs` 显然是首选,因为它能一次性完成任务。 例子: ```python # os.mkdir('dir1/dir2') # 这里会抛出异常,因为 'dir1' 并不存在 try: os.mkdir('non_existent_dir') except FileExistsError: pass # 或者使用 exist_ok 参数 # os.makedirs('dir1/dir2') # 如果 'dir1' 不存在,它会自动创建 os.makedirs('dir1/dir2', exist_ok=True) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值