Python中的绝对路径和相对路径

### Python 中读取文件的绝对路径相对路径Python 中,`pathlib` 是处理文件路径的标准库之一。它提供了 `Path` 类来表示文件系统的路径,并允许通过简单的方法调用来获取文件的绝对路径相对路径。 #### 获取文件的绝对路径 可以通过 `Path.resolve()` 方法获取文件的绝对路径。此方法会解析任何符号链接并返回一个新的路径对象[^1]。如果传入的是相对路径,在某些操作系统下(如 Linux 或 macOS),该方法会将其转换为相对于当前工作目录的绝对路径;而在 Windows 上,则可能涉及盘符的调整[^2]。 以下是使用 `Path.resolve()` 的示例代码: ```python from pathlib import Path file_path = Path("example.txt") # 假设 example.txt 存在于当前工作目录中 absolute_path = file_path.resolve() print(f"Absolute path of the file: {absolute_path}") ``` #### 获取文件的相对路径 要获得某个文件相对于另一个路径的相对路径,可以使用 `relative_to()` 方法。这个方法接受一个参数作为起点路径,并计算目标路径与此起点之间的相对关系[^3]。 下面展示了一个例子,其中演示了如何基于指定的工作目录得到文件的相对路径: ```python current_directory = Path.cwd() # 当前工作目录 relative_path = file_path.relative_to(current_directory) print(f"Relative path from current directory to file: {relative_path}") ``` 需要注意的一点是,当尝试创建一个不存在于给定基底之下的相对路径时,将会抛出异常 `ValueError`[^4]。 #### 结合实际场景的应用实例 假设有一个名为 `data.csv` 的文件位于子目录 `subdir/` 下面,那么我们可以这样操作: ```python base_dir = Path(".") csv_file = base_dir / "subdir" / "data.csv" abs_csv_path = csv_file.resolve() rel_csv_path = csv_file.relative_to(base_dir) print(f"Absolute CSV File Path: {abs_csv_path}") print(f"Relative CSV File Path: {rel_csv_path}") ``` 以上脚本首先定义了一个基础目录 (`.` 表示当前位置),接着构建出了指向数据文件的具体位置描述器。最后分别打印其对应的绝对形式以及相对于项目根部而言的位置表述。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值