分割路径的最简洁方法是什么,以便在Python中包含文件名和两个目录?
>>> path = r'/absolute/path/to/file.txt'
>>> os.path.dirname(path)
给出:
/absolute/path/to
虽然:
>>> from pathlib import Path
>>> path = r'/absolute/path/to/file.txt'
>>> Path(path).parents[1]
给出:
/absolute/path
给我的最简洁的策略是什么:
to/file.txt
答案 0 :(得分:2)
>>> os.path.join(*pathlib.Path(path).parts[-2:])
'to/file.txt'
答案 1 :(得分:2)
这是一种方式。
path = r'/absolute/path/to/file.txt'
res = '/'.join(path.split('/')[-2:])
print(res)
# to/file.txt
不那么简洁,但更好的替代方案:
res = os.path.join(*os.path.normpath(path).split(os.sep)[-2:])