请考虑以下Path
:
import pathlib
path = pathlib.Path(r'C:\users\user1\documents\importantdocuments')
如何从该Path
中提取确切的字符串'documents \ importantdocuments?
我知道这个示例看起来很愚蠢,这里的真实上下文是将本地文件转换为远程下载链接。
答案 0 :(得分:3)
使用PurePath.relative_to()
method产生相对路径。
您不清楚如何确定基本路径;这里有两个选择:
secondparent = path.parent.parent
homedir = pathlib.Path(r'C:\users\user1')
然后仅在str()
或path.relative_to(secondparent)
结果上使用path.relative_to(homedir)
。
演示:
>>> import pathlib
>>> path = pathlib.Path(r'C:\users\user1\documents\importantdocuments')
>>> secondparent = path.parent.parent
>>> homedir = pathlib.Path(r'C:\users\user1')
>>> str(path.relative_to(secondparent))
'documents\\importantdocuments'
>>> str(path.relative_to(homedir))
'documents\\importantdocuments'
答案 1 :(得分:0)
您可以使用.parts:
public ConnectDB()
{
Initialize();
}
.
.
.
public void UserAuthCommd()
打印:
import pathlib
path = pathlib.PureWindowsPath(r'C:\users\user1\documents\importantdocuments')
print ('/'.join(path.parts[-2:]))
答案 2 :(得分:0)
这适用于任何操作系统和Python的每个版本:
import os
os.path.join(os.path.basename(os.path.dirname(p)),os.path.basename(p))
这适用于python 3:
str(p.relative_to(p.parent.parent))