【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管理 ...
随机推荐
- Qt开源作品19-通用数据库翻页查询
一.前言 在Qt与数据库结合编程的过程中,记录一多,基本上都需要用到翻页查看记录,翻页有个好处就是可以减轻显示数据的表格的压力,不需要一次性将数据库表的记录全部显示,也基本上没有谁在一页上需要一次性显 ...
- [转]实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'field list'
控制台报错 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'user_nam ...
- Spring+MyBatis企业应用实战(第二版)2018-电子书+源码+SQL脚本
Spring+MyBatis企业应用实战(第二版)2018学习资料: 电子书: 链接:https://pan.baidu.com/s/1yAdlA5F_HuZMbO4who5jVw 提取码:58yz ...
- JavaWeb代码架构中类之间的引用关系
为了加深对Java Web代码架构中类之间的引用关系的理解和记忆,特绘制了这一张图. Java EE应用架构:
- 《Spring MVC+MyBatis快速开发与项目实战》-黄文毅2019:一书的源码和配套视频下载地址
<Spring MVC+MyBatis快速开发与项目实战>-黄文毅2019:一书的源码下载地址: http://github.com/huangwenyi10/springmvc-myba ...
- 即时通讯技术文集(第35期):IM群聊技术合集(Part2) [共12篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第35 期. [- 1 -] 直播系统聊天技术(一):百万在线的美拍直播弹幕系统的实时推送技术 ...
- 『AotuHotKey』——一个小巧却高效的实用效率工具
[!note] 本来主要是想找一下「」和『』,然后这个方法直接可以找到大部分的特殊字符 通过输入法输出 『Ctr + shift + Z』进入搜狗输入法的『符号大全』 在『标点符号』项可以找到「」和『 ...
- Docker Desktop 使用笔记
一.Docker Desktop是什么? Docker Desktop是适用于Windows的Docker桌面,是Docker设计用于在Windows 10上运行.它是一个本地 Windows 应用程 ...
- 数组 | 切片 | map | Go语言
数组 1.数组的长度需要声明 2.存储的数据类型必须一致 3.可以通过下标来访问,超出长度问报访问越界的错误 4.不支持负数索引 5.数组是值类型,传递的都是拷贝,不会对原来的对象进行修改 6.Go中 ...
- 前端vue获取excell中的数据
这个功能我觉得还是挺好的,比如要批量上传一些数据,然后不用一个一个填入直接写个excell表然后一起上传,然后我在这边记录一下 首先用到了xlsx这个插件 下载 npm i xlsx --save 使 ...