Python 获取相对路径

想要获取 当前文件的路径,通常我的做法是

os.path.abspath(__file__)

如果想要获取当前文件的所在文件夹,通常的做法是

os.path.dirname(__file__)

但是更多的时候,我想获取当前所在文件的父目录的父目录,做法可以是

os.path.dirname(os.path.diranme(__file__))

path = os.path.abspath(__file__)
for _ in range(2):
  path = os.path.dirname()

但是,对于更复杂的场景

├── Dockerfile
├── Install.md
├── README.md
├── A
│   ├── A1
│   │   ├── A11
│   │   │    ├── Model
│   │   │    ├── Config
│   ├── A2
│   ├── A3
│   │   ├── A31
│   │   │    ├── A311

如果我们当前执行的文件在A311,我们的config和model存储在 A11文件夹下。那么使用os.path.abspath 可以更优雅的完成相对路径的解析,
我们的 ..操作会被os.path.abspath解析

os.path.abspath(os.path.join(__file__, "../../../", "A1", "A11", "Model"))
os.path.abspath(os.path.join(__file__, "../../../", "A1", "A11", "Config"))

希望能帮助到有想碰到相似问题的朋友

posted @ 2024-02-07 13:43  ViperYx  阅读(89)  评论(0)    收藏  举报