我们有文件的完整路径:
/dir1/dir2/dir3/sample_file.tgz
基本上,我想最终得到这个字符串:
dir3/sample_file.tgz
我们可以使用regex
或.split("/")
来解决它,然后接受并连接列表中的最后两项.....但我想知道我们是否可以使用{更加时尚{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:])