Pythonic方法从完整文件路径中提取文件名及其父目录?

时间:2015-03-18 15:49:45

标签: python path directory

我们有文件的完整路径:

/dir1/dir2/dir3/sample_file.tgz

基本上,我想最终得到这个字符串:

dir3/sample_file.tgz

我们可以使用regex.split("/")来解决它,然后接受并连接列表中的最后两项.....但我想知道我们是否可以使用{更加时尚{1}}或类似的东西?

1 个答案:

答案 0 :(得分:2)

import os
full_filename = "/path/to/file.txt"
fname = os.path.basename(full_filename)
onedir = os.path.join(os.path.basename(os.path.dirname(full_filename)), os.path.basename(full_filename))

没有人说os.path很好用,但无论平台如何都应该做正确的事情。

如果你在python3.4(或更高版本,大概是),那么pathlib

import os
import pathlib
p = pathlib.Path("/foo/bar/baz/txt")
onedir = os.path.join(*p.parts[-2:])