之前曾介绍过Python的os库详细使用方式,具体可看看这篇博文:https://cloud.tencent.com/developer/article/1640694
博主在学完os库之后,就开始投入使用了,在项目中我们一般需要让 路径可配置 ,什么意思?假设你现在有个项目A,里面有些变量存储了文件路径,如: project_path = C:\Users\user\Desktop\py\moocInterface ;想象下,当你换了个电脑,你的项目不在放在C盘下的时候,你这个变量是不是就失效了,此时你就要手动改路径,改来改去....维护成本极高;所以博主后面就用了os库去完成路径可配置,具体代码如下,大家完全可以复用的哈
BaseSettings
config
pathlib
os.path
os.path
从这开始,我们通过os.path和pathlib的比较他们的代码量和实现方式
import os
v2 = os.getcwd()
# 输出 F:\moocInterface
from pathlib import Path
v = Path.cwd()
# 输出 F:\moocInterafce
import os
print(os.path.dirname(os.path.dirname(os.getcwd()))) # F:\
很明显用os的写法就是嵌套式调用
from pathlib import Path
print(Path.cwd().parent.parent) # F:\
而用pathlib就是链式调用
场景:在当前目录的父级目录拼接 test 文件夹下的 test.txt
import os
os.path.join(os.path.dirname(os.getcwd()),"test","test.txt")
from pathlib import Path
paths = ["test","test.txt"]
Path.cwd().parent.joinpath(*paths)
import os
import os.path
# 创建 peoject/test目录
os.makedirs(os.path.join('project', 'test'), exist_ok=True)
# 将test.txt 重命名为 project/tests.txt
os.rename('test.txt', os.path.join('project', 'tests.txt'))
from pathlib import Path
# 创建 project/test目录
Path('project/test').mkdir(parents=True, exist_ok=True)
# 将test.txt 重命名为 project/tests.txt
Path('test.txt').rename('project/test.txt')
Path.parents # 返回所有上级目录的列表
Path.parts # 分割路径 类似os.path.split(), 不过返回元组
Path.root # 返回路径的根目录
Path.is_dir() # 判断是否是目录
Path.is_dir() # 是否是文件
Path.exists() # 判断路径是否存在
Path.open() # 打开文件(支持with)
Path.resolve() # 返回绝对路径
Path.cwd() # 返回当前目录
Path.iterdir() # 遍历目录的子目录或者文件
Path.mkdir() # 创建目录
Path.rename() # 重命名路径
Path.unlink() # 删除文件或目录(目录非空触发异常)
Path.joinpath() # 拼接路径