一、什么是os.pardir
在Python标准库的os模块中,os.pardir代表父目录的名字,即".."。在处理文件路径时,os.pardir非常有用。我们可以使用os.pardir来代替硬编码的"../"或者更糟糕的“..\..\”。
import os
print(os.pardir)
输出结果为: ..
二、os.path模块的使用
Python标准库中提供了强大的用于操作文件路径的os.path模块,我们可以使用 os.path.join() 方法以优雅的方式拼接文件路径。
当使用os.pardir的时候,我们可以将其作为参数传递给os.path.join()函数,以便更好地处理文件路径。
import os
folder_name = os.path.join("my_folder", os.pardir)
print(folder_name)
输出结果为: my_folder/..
三、os.path.abspath()方法
os.path.abspath()方法可以获取文件的绝对路径,我们可以使用os.path.abspath()方法优雅地获取文件路径。
import os
relative_folder_path = os.path.join("my_folder", os.pardir)
absolute_path = os.path.abspath(relative_folder_path)
print(absolute_path)
输出结果为: /home/user/my_folder/..
四、os.path.dirname()和os.path.basename()方法
os.path.dirname()方法可以获取文件路径中的目录部分,而os.path.basename()方法可以获取文件路径中的文件名部分。
import os
path = "/home/user/my_folder/my_file.txt"
dir_name = os.path.dirname(path)
base_name = os.path.basename(path)
print("dir_name: ", dir_name)
print("base_name: ", base_name)
输出结果为: dir_name: /home/user/my_folder base_name :my_file.txt
五、os.path.split()方法
os.path.split()方法可以将文件路径分割成目录部分和文件名部分,并以元组的形式返回。
import os
path = "/home/user/my_folder/my_file.txt"
dir_name, base_name = os.path.split(path)
print("dir_name: ", dir_name)
print("base_name: ", base_name)
输出结果为: dir_name: /home/user/my_folder base_name :my_file.txt
结论
使用 os.pardir 可以避免复杂的硬编码,使用 os.path模块可以在处理路径时更加优雅。os.path.abspath()、 os.path.dirname()、 os.path.basename()、os.path.split()等方法可以让我们更好的处理文件路径,使得代码更加简洁、清晰、可读性高。