Python 创建目录文件夹

本文介绍了Python中创建目录的方法,涉及os模块的os.mkdir()和os.makedirs()两个函数。os.mkdir()在父目录不存在时不会创建,而os.makedirs()会递归创建父目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python只需要引入os模块,使用相关函数即可实现目录的创建。

主要涉及到三个函数:

1、os.path.exists(path) 判断一个目录是否存在
2、os.makedirs(path) 多层创建目录
3、os.mkdir(path) 创建目录
import os

def mkdir(pathStr):
    # 去除首位空格
    path = pathStr.strip()
    # 判断路径是否存在,True表示存在,False表示不存在
    isExists = os.path.exists(path)
    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        os.makedirs(path)
        print(path + " 创建成功")
        return True
    else:
        # 如果目录存在则不创建
        return False


# 定义要创建的目录
mkpath = "E:\\demo\\web"
# 调用函数
mkdir(mkpath)

os.mkdir(path)函数和os.makedirs(path)函数之间的区别:当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建父目录

<think>我们参考了引用[2]中关于创建多层文件夹的方法,其中明确提到了使用`os.makedirs()`函数可以创建多层嵌套的文件夹。 同时,引用[1]也提到了`os.makedirs()`函数用于创建多层目录,而`os.mkdir()`只能创建单层目录。 因此,我们将使用`os.makedirs()`函数来实现创建多层文件夹。 步骤: 1. 导入os模块 2. 指定要创建文件夹路径(可以是绝对路径或相对路径) 3. 使用os.makedirs(path)创建文件夹 注意:如果文件夹已经存在,默认会抛出FileExistsError异常,我们可以通过exist_ok参数来处理,当exist_ok=True时,不会抛出异常。 例如:创建路径为'path/to/my/directory'的多层文件夹,可以这样写: os.makedirs('path/to/my/directory', exist_ok=True) 下面我们给出一个完整的代码示例。</think>在Python创建多层文件夹(多级目录)的最佳方法是使用 `os.makedirs()` 函数,它可以一次性创建完整的路径结构。以下是具体实现方法: ```python import os # 定义要创建的路径(支持绝对路径和相对路径) path = "parent/child/grandchild" # 示例路径 # 创建多层文件夹(自动处理中间目录) os.makedirs(path, exist_ok=True) # exist_ok=True 避免目录已存在时报错 ``` ### 关键特性说明: 1. **自动创建中间目录** 如果 `parent/` 或 `child/` 不存在,`os.makedirs()` 会自动创建整个路径链 2. **避免重复创建** `exist_ok=True` 参数确保目录已存在时不报错(推荐始终添加) 3. **路径格式** 支持不同操作系统的路径分隔符: ```python # Windows 路径示例 win_path = "C:\\Users\\Project\\data\\logs" # 双反斜杠转义 win_path = r"C:\Users\Project\data\logs" # 原始字符串 ``` ### 完整应用示例 ```python import os # 创建嵌套目录结构 base_dir = "projects" sub_dirs = ["src/utils", "data/raw", "docs/images"] for d in sub_dirs: full_path = os.path.join(base_dir, d) # 路径拼接 os.makedirs(full_path, exist_ok=True) print(f"创建目录: {full_path}") # 检查目录是否存在 if os.path.exists("projects/src"): print("目录结构创建成功!") ``` ### 与单层目录创建的区别 | 方法 | 功能 | 适用场景 | |---------------------|--------------------------|------------------| | `os.mkdir()` | 创建单层目录 | 仅需创建末端目录 | | `os.makedirs()` | 创建完整路径(多层) | 需要创建中间目录 | | `Path.mkdir()` | 路径对象创建(需pathlib)| 面向对象风格 | ### 注意事项 1. 权限问题:确保程序有目标位置的写入权限 2. 路径规范:建议使用 `os.path.join()` 拼接路径保证跨平台兼容性 3. 错误处理:生产环境建议添加异常捕获: ```python try: os.makedirs(path) except OSError as e: print(f"创建失败: {e}") ``` 通过 `os.makedirs()` 配合 `exist_ok=True` 参数,可以安全高效地创建任意深度的目录结构[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值