更好文件系统内置库Path
from pathlib import Path
需要区别window和unix使用不同的类
# 当前文件绝对路径
path = Path(__file__).resolve()
# 父级 可以连续使用
path.parent
# 文件名称
path.name
# 后缀
path.suffix
# 去 后缀文件名
path.stem
# 遍历文件夹
path.parent.iterdir()
# 组合文件路径 joinpath(self, *args)
path.joinpath('文件或路径')
# 是否存在
path.exists()
# 文件或者文件夹
path.is_dir()
path.id_file()
问题
假如有场景:将某个文件夹加入到环境变量中。
test.py
from pathlib import Path
import sys
p = Path(__file__).resolve()
sys.path.append(p.parent)
此时,你加入环境变量应该是不生效的。如果你使用type
你会看到
<class 'pathlib.PosixPath'>
它其实是一个对象不是一个字符串。所以你可以这样使用。
sys.path.append(str(p.parent))
基础os.path
正如,开头说的那样。Path
是一个高效的文件基础模块。如果,通过os.path
模块获取一个文件的文件名或者文件后缀。那么你应该会感受到多么痛的领悟
。下面是给尝试
import os
path = os.path.abspath(__file__)
name, suffix = os.path.basename(path).split('.')
如果你想获取上级目录
os.path.dirname(path)
# 或者你可以使用是不是更方便
path.parent