Python中如何简洁分割路径以获取倒数二级目录及文件名?
简洁获取
to/file.txt的几种方法 嘿,这有几个超简洁的方案,分分钟搞定你的需求:
1. 用pathlib(现代Python首选)
pathlib是Python 3.4+自带的面向对象路径处理库,代码更直观也更跨平台:
from pathlib import Path path = Path(r'/absolute/path/to/file.txt') target = path.relative_to(path.parents[2]) print(target) # 输出: to/file.txt
原理很简单:path.parents[2]指向/absolute/path,调用relative_to()直接算出从这个目录到目标文件的相对路径,完美命中你要的结果。
2. 用传统os.path模块
如果你更习惯用os模块的话,也可以用组合写法:
import os path = r'/absolute/path/to/file.txt' # 拆分出父目录的最后一级(也就是'to'),再拼接文件名 parent_dir = os.path.basename(os.path.dirname(path)) target = os.path.join(parent_dir, os.path.basename(path)) print(target) # 输出: to/file.txt
3. 快速字符串分割(仅限Unix风格路径)
如果你的场景确定是Unix/类Unix路径,还可以用一行字符串分割搞定,但不推荐跨平台使用:
path = r'/absolute/path/to/file.txt' target = '/'.join(path.split('/')[-2:]) print(target) # 输出: to/file.txt
内容的提问来源于stack exchange,提问作者CiaranWelsh
相关产品推荐
相关产品推荐

