os.path
os的写法是嵌套式调用,当处理多个层级的目录路径时,通过 os.path 需要嵌套写法。
import os
# 获取当前文件位置
current_path = os.path.realpath(__file__)
print(current_path)
print(type(current_path))
# 获取根目录位置 os.path.split() ---返回列表
project_path = os.path.split(os.path.realpath(__file__))[0]
print(project_path)
print(type(project_path))
# 拼接路径
file_path = os.path.join(project_path, 'demo.py')
print(file_path)
>
/Users/whtest/Code/ApiDmall/demo.py
<class 'str'>
/Users/whtest/Code/ApiDmall
<class 'str'>
/Users/whtest/Code/ApiDmall/demo.py
pathlib
pathlib的写法是链式写法,简洁明了.
from pathlib import Path
# 获取当前文件路径
current_path = Path(__file__)
print(current_path)
print(type(current_path))
# 获取当前文件夹路径,Path.cwd()获取相对路径
current_dict_path = Path.cwd()
print(current_dict_path)
# 获取上上层路径
path_a = Path.cwd().parent.parent
print(path_a)
# 拼接路径
file_path1 = Path.cwd().joinpath('demo.py')
print(file_path1)
file_path2 = Path.cwd().parent.joinpath('demo.py')
print(file_path2)
>
/Users/whtest/Code/ApiDmall/demo_encode.py
<class 'pathlib.PosixPath'>
/Users/whtest/Code/ApiDmall
/Users/whtest
/Users/whtest/Code/ApiDmall/demo.py
/Users/whtest/Code/demo.py
参考文档:https://www.cnblogs.com/poloyy/p/12435628.html