拆分路径的简洁方法,使其包含文件名和 Python 中的两个目录?
Concise way to split a path so that it includes the filename and two directories up in Python?
分割路径的最简洁方法是什么,以便它包含文件名和 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
?
>>> os.path.join(*pathlib.Path(path).parts[-2:])
'to/file.txt'
这是一种方式。
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:])
分割路径的最简洁方法是什么,以便它包含文件名和 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
?
>>> os.path.join(*pathlib.Path(path).parts[-2:])
'to/file.txt'
这是一种方式。
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:])