pathlib模块面向对象路径操作详解
请对比os.path与pathlib两种路径操作方式,介绍pathlib.Path的核心方法,并说明为什么推荐使用pathlib。
回答
我是大山
pathlib是Python 3.4引入的面向对象路径操作库,相比os.path具有更直观的API。
Path核心方法:
Path.cwd()/Path.home()— 当前/用户目录Path / 'subdir' / 'file.txt'— 使用/运算符拼接路径.exists()/.is_file()/.is_dir()— 检查状态.mkdir(parents=True, exist_ok=True)— 创建目录(os.makedirs替代).glob('*.py')/.rglob('**/*.py')— 文件匹配查找.read_text()/.write_text()/.read_bytes()/.write_bytes()— 直接读写文件.rename()/.unlink()/.rmdir()— 重命名/删除.suffix/.stem/.name/.parent— 属性访问扩展名/文件名/父目录
推荐原因:
- 链式调用,代码更简洁
- 跨平台自动处理路径分隔符
- 统一了文件和路径操作接口
- Python 3.6+对pathlib有更好的性能优化