📅  最后修改于: 2023-12-03 14:46:17.391000             🧑  作者: Mango
在 Python 中,我们有时需要使用相对路径来指定文件或目录的位置。相对路径是相对于当前工作目录的路径,而不是绝对路径。Python 提供了一些模块来帮助我们处理相对路径。
相对路径可以是以下格式之一:
.
:当前目录..
:上级目录path/to/file
:相对于当前目录的文件路径(可以包含多个目录)/path/to/file
:相对于根目录的文件路径(可以包含多个目录)os 模块是 Python 的标准库之一,提供了处理文件和目录的函数。os 模块中的 getcwd()
函数返回当前工作目录的绝对路径。
import os
cwd = os.getcwd()
print(cwd) # 输出当前工作目录的绝对路径
我们可以使用 os.chdir()
函数来改变当前工作目录。这样,在后续处理中,相对路径将会基于新的当前工作目录。
os.chdir('/path/to/directory') # 改变当前工作目录到指定目录
我们还可以使用 os.path.abspath()
函数将相对路径转换为绝对路径。这个函数将根据当前工作目录和传入的相对路径计算出绝对路径。
abs_path = os.path.abspath('path/to/file')
print(abs_path) # 输出与相对路径等价的绝对路径
pathlib 模块是 Python 3.4 中引入的新模块,提供了面向对象的文件系统路径操作。它的路径表示形式是一个 Path 对象,可以方便地操作路径的各个部分。
我们可以使用 Path.cwd()
方法获取当前工作目录的 Path 对象。同样,我们可以使用 Path.chdir()
方法改变当前工作目录。
from pathlib import Path
cwd = Path.cwd()
print(cwd) # 输出当前工作目录的绝对路径
Path('/path/to/directory').chdir() # 改变当前工作目录到指定目录
Path 对象还提供了 resolve()
方法,可以将相对路径转换为绝对路径。它基于当前工作目录或者指定的根目录计算出绝对路径。
abs_path = Path('path/to/file').resolve()
print(abs_path) # 输出与相对路径等价的绝对路径
Python 提供了 os 和 pathlib 两个模块来处理相对路径。os 模块提供了一些函数来操作路径字符串,pathlib 模块提供了面向对象的路径操作。无论使用哪个模块,都可以方便地处理相对路径。同时,我们也需要了解当前工作目录的概念,因为相对路径是相对于当前工作目录的。