文件7:文件路径基础

目录

1. 绝对与相对路径

1.1 绝对路径

1.2 相对路径

1.3 两者区别

2. pathlib模块

2.1 模块概述

2.2. pathlib 与 os 模块的映射关系  

3. 路径对象

3.1 路径实例化

3.2 路径可哈希

3.3 路径拼接:'\' 运算符

3.4 路径获取

classmethod Path.cwd()  

classmethod Path.home()  


1. 绝对与相对路径

1.1 绝对路径

绝对路径:绝对路径是指文件在硬盘上真正存在的路径。

在 Windows 系统中,绝对路径是以磁盘名称开头,如 C: 或者 D: ,具体的文件或文件夹名称做结尾。绝对路径是唯一的,只有一个。

绝对路径是唯一的,只有一个。

注意转义字符对路径的干扰,需要使用 r'' 原始字符串,或者 '\\' 代替 '\' 。

示例:

'1.txt' 存放 'C:\Users\15063\Desktop' 路径目录下

'1.txt' 的绝对路径即: 'C:\Users\15063\Desktop\1.txt' 

1.2 相对路径

相对路径:相对于自己的目标文件位置。

相对路径是针对当前文件夹这一参考对象,来描述文件路径的形式,使用..\\ 或.\\表示。

'.' 表示文件或文件夹所在的当前目录,可以使用 '.\' 打开本级目录下的文件或目录,也可以直接省略;两个点 '..\' 表示当前目录的上一级目录,上n级就用n个 '.' 表示。

示例:

文件路径如下图

文件FB1访问FB2相对路径:'文件FB2' 或者 '.\文件FB2'

文件FB2访问FB11相对路径:'文件夹B1\文件FB11' 或者 '.\文件夹B1\文件FB11'

文件FA1访问FB11相对路径:'..\文件夹B\文件夹B1\文件FB11'

文件FB11访问文件FA1相对路径:'...\文件夹A\文件FA1'

1.3 两者区别

绝对路径和相对路径的区别,可以如下描述:

  • 绝对路径是一个文件实际存在于硬盘中的路径。
  • 相对路径,指的是与自身的目标档案相关的位置。
  • 绝对路径是指可以从这个路径上查找文件夹,不管是从外部或内部存取。而相对路径则是与它本身相关的,其它地方的档案和路径,则只能在内部存取。

2. pathlib模块

2.1 模块概述

pathlib 为 Python3.4 后新增模块,提供表示文件系统路径的类,完美代替 os.path 模块;

路径类可分为提供纯计算操作而不涉及 I/O 的 PurePath,以及从 PurePath 继承而来但提供 I/O 操作的子类 Path;

Path 除了拥有 PurePath 提供的路径操作之外,还提供对路径对象进行系统调用的方法,通常编码直接调用Path函数即可,从 pathlib 中单独导入Path函数类,如下:  

>>> from pathlib import Path

导入pathlib模块中的Path类,其中有一系列常用方法和属性,可实现获取当前路径、检测路径是否存在、拆分路径为元组、创建文件夹、修改文件夹或文件名、删除文件夹或文件、查找等操作;

后续文件路径方法,都基于 Path 类展开。

PurePath 则在如下情况中较为常用,比如:  

  • 如果要在 Unix 设备上操作 Windows 路径(反之亦然),不可以在 Unix 上实例化一个 WindowsPath,但可以实例化一个 PureWindowsPath。
  • 如果只想操作路径,而不想实际访问操作系统,实例化一个 PurePath 可以防止执行任何访问操作系统的操作。  

2.2. pathlib 与 os 模块的映射关系  

以下是 os 模块与 PurePath / Path 模块对应功能的函数映射表:  

注意:并非所有的函数、方法完全等价,它们有些虽然具有相互重叠的使用场景,但语义并不相同。这包括了 os.path.abspath() 和 Path.resolve(),以及 os.path.relpath()  和 PurePath.relative_to() 等。  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃烧的火鸟啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值