【python学习】标准库之文件目录访问-os.path方法和pathlib库的背景、功能、用法、代码示例和总结

引言

在Python中,处理文件和目录的访问有多种方式,其中两种最常用的方法是使用os.path模块和pathlib库

文章目录

  • 引言
  • 一、`os.path`的定义
  • 二、`os.path`的功能
    • [2.1 路径分割和组合](#2.1 路径分割和组合)
    • [2.2 路径比较](#2.2 路径比较)
    • [2.3 路径长度和组件获取](#2.3 路径长度和组件获取)
    • [2.4 路径转换](#2.4 路径转换)
    • [2.5 路径命名](#2.5 路径命名)
  • 三、`os.path`的用法
  • 四、`pathlib`库的定义
  • 五、`pathlib`库的功能
    • [5.1 路径创建和操作](#5.1 路径创建和操作)
    • [5.2 路径遍历](#5.2 路径遍历)
    • [5.3 路径比较](#5.3 路径比较)
    • [5.4 路径信息获取](#5.4 路径信息获取)
    • [5.5 路径访问](#5.5 路径访问)
  • 六、`pathlib`库的用法
  • 七、os.path方法和pathlib库的相同与区别
    • [7.1 相同](#7.1 相同)
      • [7.1.1 `os.path`模块和`pathlib`库都是处理文件和目录访问的常用工具](#7.1.1 os.path模块和pathlib库都是处理文件和目录访问的常用工具)
    • [7.2 区别](#7.2 区别)
      • [7.2.1 `os.path`模块提供了许多实用的函数,适合进行底层操作系统的路径处理](#7.2.1 os.path模块提供了许多实用的函数,适合进行底层操作系统的路径处理)
      • [7.2.2 `pathlib`库提供了一种更面向对象的方式,使得代码更加清晰和易于阅读](#7.2.2 pathlib库提供了一种更面向对象的方式,使得代码更加清晰和易于阅读)
      • [7.3 总结](#7.3 总结)
  • 八、总结(思维导图)

一、os.path的定义

os.path模块是Python标准库的一部分,它提供了一系列用于处理路径名的函数。这些函数主要用于操作系统特定的路径操作,如文件和目录的创建、删除、移动等

二、os.path的功能

2.1 路径分割和组合

如os.path.split()和os.path.join()

2.2 路径比较

如os.path.samefile()

2.3 路径长度和组件获取

如os.path.getsize()和os.path.basename()

2.4 路径转换

如os.path.abspath()和os.path.relpath()

2.5 路径命名

如os.path.normpath()

三、os.path的用法

python 复制代码
import os
# 路径分割
path = '/home/user/files/document.txt'
head, tail = os.path.split(path)
print(head)  # 输出: /home/user/files
print(tail)  # 输出: document.txt
# 路径组合
path = os.path.join('/home/user', 'files', 'document.txt')
print(path)  # 输出: /home/user/files/document.txt

四、pathlib库的定义

pathlib是一个新的Python库,用于处理文件系统路径。它是从Python 3.4版本开始引入的,旨在提供一种更加面向对象的方式来处理路径

五、pathlib库的功能

5.1 路径创建和操作

如Path.mkdir()和Path.rmdir()

5.2 路径遍历

如Path.glob()和Path.rglob()

5.3 路径比较

如Path.samefile()

5.4 路径信息获取

如Path.is_file()和Path.is_dir()

5.5 路径访问

如Path.open()

六、pathlib库的用法

python 复制代码
from pathlib import Path
# 创建路径对象
path = Path('/home/user/files/document.txt')
# 路径分割
head, tail = path.parts
print(head)  # 输出: /home/user/files
print(tail)  # 输出: document.txt
# 路径组合
path = path.joinpath('another_file.txt')
print(path)  # 输出: /home/user/files/another_file.txt

七、os.path方法和pathlib库的相同与区别

7.1 相同

7.1.1 os.path模块和pathlib库都是处理文件和目录访问的常用工具

7.2 区别

7.2.1 os.path模块提供了许多实用的函数,适合进行底层操作系统的路径处理

7.2.2 pathlib库提供了一种更面向对象的方式,使得代码更加清晰和易于阅读

7.3 总结

在选择使用哪个库时,可以根据具体需求和代码风格来决定

如果需要进行底层操作系统的路径处理,os.path模块是更好的选择;

如果更倾向于使用面向对象的方法,那么pathlib库是更好的选择

八、总结(思维导图)

相关推荐
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路8 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003968 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_8 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
学长毕设8 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒8 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
龙亘川9 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人9 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc9 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl9 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计