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

引言

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

一、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的用法

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库的用法

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库是更好的选择

八、总结(思维导图)

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 15:26:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 15:26:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 15:26:02       45 阅读
  4. Python语言-面向对象

    2024-07-16 15:26:02       55 阅读

热门阅读

  1. 0基础学python-8:if,while,for

    2024-07-16 15:26:02       20 阅读
  2. RPC 的原理和示例

    2024-07-16 15:26:02       20 阅读
  3. Log4j的原理及应用详解(三)

    2024-07-16 15:26:02       19 阅读
  4. 【TFTP工具(Trivial File Transfer Protocol)】

    2024-07-16 15:26:02       20 阅读
  5. ssh升级

    ssh升级

    2024-07-16 15:26:02      20 阅读
  6. 什么是PHP?

    2024-07-16 15:26:02       18 阅读
  7. HDFS和ES

    2024-07-16 15:26:02       16 阅读
  8. 格雷编码

    2024-07-16 15:26:02       20 阅读
  9. 外呼系统用回拨模式打电话有什么优势

    2024-07-16 15:26:02       18 阅读
  10. datawhale【第二期】nlp

    2024-07-16 15:26:02       22 阅读
  11. DVC+Minio

    2024-07-16 15:26:02       17 阅读
  12. 力扣第208题“实现 Trie (前缀树)”

    2024-07-16 15:26:02       19 阅读
  13. 地暖管的选材

    2024-07-16 15:26:02       16 阅读
  14. easyexcel使用

    2024-07-16 15:26:02       18 阅读
  15. ubuntu报Unit firewalld.service could not be found.

    2024-07-16 15:26:02       16 阅读