Python 标准库之pathlib(二),路径操作

背景

小编之前写过一篇介绍 pathlib 标准库的文章,最近在做项目时,又发现其有一个更好用的功能,分享给大家,供大家参考学习

小编环境

import sys

print('python 版本:',sys.version.split('|')[0])
#python 版本: 3.11.11

创建目录方法:Path.mkdir()

pathlib.Path.mkdir() 方法是 Python 中创建目录的核心方法,提供了灵活且安全的目录创建功能

方法签名:

Path.mkdir(mode=0o777, parents=False, exist_ok=False)

参数详解:

1. mode (可选)

  • 作用: 设置目录权限(Unix/Linux/Mac 系统有效)
  • 默认值: 0o777 (八进制,表示最大权限)
  • 注意: 在 Windows 上此参数被忽略

常用权限值:

from pathlib import Path

# 创建用户可读/写/执行,组和其他用户只读/执行的目录
Path("my_dir").mkdir(mode=0o755)  # drwxr-xr-x

# 创建只有用户可读/写/执行的目录  
Path("private_dir").mkdir(mode=0o700)  # drwx------

2. parents (可选)

  • 作用: 是否自动创建父目录
  • 默认值: False
  • False 时: 父目录必须存在,否则抛出 FileNotFoundError
  • True 时: 自动创建所有不存在的父目录

3. exist_ok (可选)

  • 作用: 目录已存在时的处理方式
  • 默认值: False
  • False 时: 目录已存在会抛出 FileExistsError
  • True 时: 目录已存在不会报错

基础用法示例

示例 1: 创建单级目录

from pathlib import Path

# 在当前目录下创建新文件夹
Path("new_folder").mkdir()

# 创建指定路径的目录
Path("/tmp/example").mkdir()

示例 2: 创建多级目录(使用 parents=True

from pathlib import Path

# 传统方式 - 需要逐级检查创建
# 这里演示只判断父目录是否存在
path = Path("a/b/c/d/e")
if not path.parent.exists():
    path.parent.mkdir()
path.mkdir()

# 简化方式 - 一次性创建所有层级
Path("a/b/c/d/e").mkdir(parents=True)

示例 3: 安全创建目录(使用 exist_ok=True

from pathlib import Path

# 安全创建 - 目录存在也不报错
Path("my_project").mkdir(exist_ok=True)

# 等同于检查是否存在再创建
path = Path("my_project")
if not path.exists():
    path.mkdir()

历史相关文章


以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据人阿多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值