首页 > 编程语言 >【Python脚本】路径管理之pathlib

【Python脚本】路径管理之pathlib

时间:2024-09-29 09:34:04浏览次数:8  
标签:PureWindowsPath PurePath Python 路径 文件系统 pathlib Path

img

在Python的pathlib模块中,Path类和PurePath类是用于处理文件和目录路径的两个主要类.它们具有不同的目的和功能,以下是它们的主要异同点:

  1. 类的继承关系:
    Path类继承自PurePath,因此Path类拥有PurePath的所有方法.

不同点:

PurePath类:

  1. 纯路径对象:
    PurePath类及其子类(如PurePosixPathPureWindowsPath)只处理路径的表示操作,不涉及文件系统.它们不会与操作系统交互,因此不会检查路径是否存在或是否可访问.

  2. 平台无关性(PurePosixPath 和 PureWindowsPath):
    PurePath类有两个具体的子类,PurePosixPath用于表示POSIX系统(Linux、macOS)的路径,PureWindowsPath用于表示Windows系统的路径.

    • 即使在一个特定平台上,你仍然可以创建与另一个平台相关的路径表示.例如,在Linux上可以创建PureWindowsPath对象来处理Windows路径.
  3. 典型用法:
    PurePath通常用于路径的纯粹操作,如拼接、解析或比较路径,而不需要访问文件系统.这对于跨平台路径操作或静态路径检查非常有用.

Path类:

  1. 文件系统交互:
    Path类不仅能够表示路径,还能与操作系统的文件系统进行交互.Path提供了检查文件是否存在(exists())、创建文件夹(mkdir())、读取文件内容(read_text()等)等操作.

  2. 平台相关性:
    Path类是与操作系统相关的.根据运行的平台,它会自动选择使用PosixPathWindowsPath作为具体实现.因此,在Linux和macOS上,Path等价于PosixPath,而在Windows上,Path等价于WindowsPath.

  3. 典型用法:
    Path用于需要访问文件系统的情况,比如读取文件、遍历目录、创建文件等.它不仅可以处理路径,还能执行与路径相关的实际操作.

小结:

  • PurePath主要用于路径的操作表示,不会与文件系统交互.
  • Path不仅用于路径的表示,还用于与文件系统交互,如检查文件是否存在、创建文件夹、读取文件等.

pathlib 常用方法汇总

标签:PureWindowsPath,PurePath,Python,路径,文件系统,pathlib,Path
From: https://www.cnblogs.com/aksoam/p/18438918

相关文章

  • Python打包工具之pyinstaller
    前言:近期使用PySimpleGUI开发了一款开发者工具X-助手工具,意打造成平常开发助手,无论是图片还是网址的处理等等都需要这一个工具即可,无需在网上找各个网站去找解决方案,对于GUI的打包工具,在Python领域pyinstaller较为流行工具样例:   安装:pipinstall-Upyins......
  • Python 进行网页抓取
    1.从网站中提取数据importrequestsfrombs4importBeautifulSoupdefscrape_data(url):response=requests.get(url)soup=BeautifulSoup(response.text,'html.parser')#在此处编写代码,从网站中提取相关数据说明:这个Python脚本利用requests和Beautif......
  • python多线程与线程池
    线程:是任务的执行者。进程:是一个动态的概念。适用情况:IO密集用多线程。CPU密集用多进程。原因:Cpython解释器中使用了GIL全局解释锁,一个进程只有一个锁。只有拿到这个锁的线程才能获取解释器,取解释执行代码。这就导致了即使开了多线程,实际上只有一个线程在执行。因此......
  • 华为OD机试2024年E卷-转骰子[200分]( Java | Python3 | C++ | C语言 | JsNode | Go )实
    题目描述骰子是一个立方体,每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态,放置在平面上,可以向左翻转(用L表示向左翻转1次),可以向右翻转(用R表示向右翻转1次),可以向前翻转(用F表示向前翻转1次),可以向后翻转(用B表示向后翻转1次),可以逆时针旋转(......
  • 华为OD机试2024年E卷-矩阵匹配[200分]( Java | Python3 | C++ | C语言 | JsNode | Go )
    题目描述从一个N*M(N≤M)的矩阵中选出N个数,任意两个数字不能在同一行或同一列,求选出来的N个数中第K大的数字的最小值是多少。输入描述输入矩阵要求:1≤K≤N≤M≤150输入格式:NMKN*M矩阵输出描述N*M的矩阵中可以选出M!/N!种组合数组,每个组合......
  • 开题报告-毕设如何选题-计算机视觉项目大集合(图像分类+目标检测+目标跟踪+姿态识别+
    #毕设选题-开题报告-计算机视觉项目大集合计算机视觉项目大集合yolo系列及创新点和应用(测距测速等):改进的yolo目标检测-测距测速图像去雨去雾+目标检测+测距项目交通标志识别项目yolo系列-重磅yolov9界面-最新的yoloyolov8双目测距-yolov8+sgbm(原理+代码)yolov5......
  • Windows系统+PyCharm IDE中python-cuda配置步骤
    0.我的主机“码头”所使用的GPU型号为NVIDIAGeForceRTX3070;在pycharm中,常用Anacondaprompt创建虚拟环境;1.解决思路:从根本上出发:GPU、项目对pytorch的版本要求是否兼容下面记录安装python和torch后如何配置cuda和cudnn。2.首先,使用shell查看shell:nvidia-smi#显......
  • python切片步长负数怎么理解
    字符串截取,也叫字符串切片,使用方括号[]来截取字符串,在Python中单字符也是作为一个字符串使用。字符串[开始索引:结束索引:步长]开始索引:从指定位置开始截取;结束索引:从指定位置结束截取,但不包含该位置的字符。步长:不指定时步长为1;字符串[开始索引:结束索引]。首先我们了解......
  • Python函数的魔法:定义与调用的艺术
    引言:你是否曾被代码困住?想象一下,你正在编写一个复杂的程序,突然间,代码的逻辑变得混乱不堪,像是一团乱麻。你是否曾经想过,为什么有些代码看起来如此简洁,而有些却让人头疼不已?答案往往在于函数的使用。函数不仅是代码的“魔法师”,更是我们编程旅程中的得力助手。在这篇文章中,我们......
  • Python中的单元测试:提高代码质量和可靠性
    在软件开发过程中,确保代码的质量和可靠性是非常重要的。单元测试是一种有效的手段,它通过验证代码的各个部分是否按预期工作,帮助开发者发现和修复潜在的问题。Python提供了unittest模块,这是一个内置的单元测试框架,可以帮助你轻松地编写和运行单元测试。本文将详细介绍如......