【Python脚本】路径管理之pathlib

在Python的pathlib模块中,Path类和PurePath类是用于处理文件和目录路径的两个主要类.它们具有不同的目的和功能,以下是它们的主要异同点:
- 类的继承关系:
Path类继承自PurePath,因此Path类拥有PurePath的所有方法.
不同点:
PurePath类:
纯路径对象:
PurePath类及其子类(如PurePosixPath、PureWindowsPath)只处理路径的表示和操作,不涉及文件系统.它们不会与操作系统交互,因此不会检查路径是否存在或是否可访问.平台无关性(PurePosixPath 和 PureWindowsPath):
PurePath类有两个具体的子类,PurePosixPath用于表示POSIX系统(Linux、macOS)的路径,PureWindowsPath用于表示Windows系统的路径.- 即使在一个特定平台上,你仍然可以创建与另一个平台相关的路径表示.例如,在Linux上可以创建
PureWindowsPath对象来处理Windows路径.
- 即使在一个特定平台上,你仍然可以创建与另一个平台相关的路径表示.例如,在Linux上可以创建
典型用法:
PurePath通常用于路径的纯粹操作,如拼接、解析或比较路径,而不需要访问文件系统.这对于跨平台路径操作或静态路径检查非常有用.
Path类:
文件系统交互:
Path类不仅能够表示路径,还能与操作系统的文件系统进行交互.Path提供了检查文件是否存在(exists())、创建文件夹(mkdir())、读取文件内容(read_text()等)等操作.平台相关性:
Path类是与操作系统相关的.根据运行的平台,它会自动选择使用PosixPath或WindowsPath作为具体实现.因此,在Linux和macOS上,Path等价于PosixPath,而在Windows上,Path等价于WindowsPath.典型用法:
Path用于需要访问文件系统的情况,比如读取文件、遍历目录、创建文件等.它不仅可以处理路径,还能执行与路径相关的实际操作.
小结:
PurePath主要用于路径的操作和表示,不会与文件系统交互.Path不仅用于路径的表示,还用于与文件系统交互,如检查文件是否存在、创建文件夹、读取文件等.
【Python脚本】路径管理之pathlib的更多相关文章
- 【Windows】Python脚本随机启动
Python脚本的管理在linux系统上市非常方便的,在windows则不是很方面.但是由于之前对于Windows这块的内容不是很了解,其实计划任务也是不错的,但和linux相比起来还是欠缺了那么点. ...
- 基于binlog来分析mysql的行记录修改情况(python脚本分析)
最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎 ...
- 如何在cmd命令下运行python脚本
1.打开cmd窗口,输入:cd c:\\python27 (首先得确认python已加入环境变量) 2.第二条命令:python[空格]完整的python脚本路径,运行即可 3.一个案例: Micr ...
- Java调用Python脚本工具类
[本文出自天外归云的博客园] 在网上查了很多方法都不成功,在google上搜到一篇文章,做了一些小修改,能够处理中文输出.提取一个运行python脚本的Java工具类如下: package com.a ...
- Thinkphp5.0上传图片与运行python脚本
这里只体现了php可以通过批处理文件调用python脚本的效果 控制器代码 访问路径为127.0.0.1/index/index/upload. index模块,index控制器,upload方法. ...
- 探索如何在java中执行python脚本
一个偶然的场景,笔者需要在java代码中执行某个python脚本,并且需要向脚本中传递参数,有可能的话,还要获取该脚本的某些执行结果,回到主程序中继续执行下去. 没有思路之前,狭隘的想法是,java中 ...
- python脚本实现集群检测和管理
python脚本实现集群检测和管理 场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用.哪台机器没人用都不清楚,从而产生了一个想法-- ...
- [SublimeText] Sublime Text 2 运行 Python 脚本中文路径解决方法
在 SublimeText 中直接运行 Python 脚本,出现以下报错提示: Running python -u C:\Documents and Settings\Administrator\桌面 ...
- 白话陈述之——从python脚本变化解析由路径引起的GP服务运行失败问题
补充一下未完待续的利用Python分析GP服务运行结果的输出路径 & 实现服务输出路径的本地化,这篇博客中主要介绍了如何实现将GP服务生成的结果输出至本地及输入输出路径导致GP服务运行失败的问 ...
- jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理
jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理 准备工作: .jenkins服务器,安装rabbitmqadmi命令 rabbitmqadmin管理 ...
随机推荐
- 【报错解决】【Linux】Name or service not known
# 配置文件位置 /etc/sysconfig/network-scripts/ # nano ifcfg-eth0查看网卡配置,确认dns已配置,且网关已配置 在虚拟机中添加临时路由网关(要与物理主 ...
- 【C#】【平时作业】习题-11-ADO.NET
选择题 1.下列ASP.NET语句(B)正确地创建了一个与mySQL数据库和服务器的连接. A.SqlConnection con1 = new Connection("Data Sourc ...
- vmagent如何快速采集和转发Metrics
vmagent如何快速采集和转发Metrics 本文介绍了vmagent的设计细节,参考自:vmagent-how-it-works VictoriaMetrics agent是一个轻量级工具,用于采 ...
- Uninstall or delete MariaDB completely for re-installation
I am new to this forum so pse forgive me if I am asking a question which already has been answered. ...
- linux tc命令进行网络限速、丢包、延迟设置(简单使用)
linux自带tc命令版本不是很低的linux系统都自带tc如果你的系统不带这个命令,建议使用类似括号中的命令进行安装 (yum -y install iproute) TC 中使用下列的缩写表示相应 ...
- Qt音视频开发32-qmedia内核回调拿图片数据
一.前言 使用qmediaplayer来打开视频并播放,默认首选会采用QVideoWidget控件来展示,优点是不用自己来绘制,一切交给了QVideoWidget控件,这样可以做到极低的CPU占用,缺 ...
- HTTP协议中,Content-Type(内容类型)讲解
在基于HTTP协议进行Web开发时,客户端请求经常会发送请求文件或媒体的类型(Type),为了编译理解和总体把握,在本人总结了一下常用的文件或媒体类型,支持的类型大致有以下9种: 文本:text.图像 ...
- SuperMap Objects中如何正确获取选择Selection以及提示“遇到一个未知错误,请重新打开窗口。ErrorMessage:尝试读取或写入受保护的内存。这通常指示他内存已损坏”
之前有一个项目中,首先在主线程(即UI线程)中通过Query()选择所需要的点几何对象记录集,然后将记录集转换为选择集,再刷新地图,从而实现将点几何对象选择并高亮显示的效果.随后通过另外一个工作线程在 ...
- 解密Prompt45. 再探LLM Scalable Oversight -辩论、博弈哪家强
之前我们已经介绍过几个针对Scalable Oversight的解法,也就是当模型能力在部分领域超越人类标注者后,我们该如何继续为模型提供监督信号,包括 持续提升Verifier的能力,辅助人类提供监 ...
- nvm的安装与使用,多个node版本同时使用
nvm的介绍 nvm全英文也叫node.js version management,是一个nodejs的版本管理工具.nvm和npm都是node.js版本管理工具,为了解决node.js各种版本存在不 ...