什么是路径正规化?
路径正规化是指将相对路径转换为绝对路径的过程。在文件操作中,相对路径是指相对于当前工作目录的路径,而绝对路径是指从文件系统的根目录开始的完整路径。
例如,如果当前工作目录是 /home/user/documents,
那么相对路径 ../pictures/image.jpg
表示位于 /home/user/pictures
目录下的 image.jpg
文件。
而绝对路径 /home/user/pictures/image.jpg
则直接指向该文件。
路径正规化的目的是确保在进行文件操作时使用正确的路径,避免出现找不到文件或访问非法目录等问题。
Python中如何实现路径正规化?
方法一:os.path.abspath()
可以使用os模块中的 os.path.abspath()
函数将相对路径转换为绝对路径,例如:
import os
relative_path = '../pictures/image.jpg'
absolute_path = os.path.abspath(relative_path)
print(absolute_path)
输出结果为:/home/user/pictures/image.jpg
方法二:os.path.normpath()
可以使用os.path.normpath()函数进行规范化路径操作,例如:
import os
# 原始路径
original_path = "/usr/local/../bin/./"
# 规范化路径
normalized_path = os.path.normpath(original_path)
print(normalized_path)
输出结果将会是:"/usr/local/bin"
方法三:通过pathlib的Path类的resolve()方法
from pathlib import Path
relative_path = '.././../pictures/image.jpg'
absolute_path = Path(relative_path).resolve()
print(absolute_path)
输出结果为:/home/user/pictures/image.jpg
在Path类中,还有另外一个absolute的方法,该方法不会对路径做正规化处理。