考虑以下Path点:

import pathlib
path = pathlib.Path(r'C:\users\user1\documents\importantdocuments')

如何从Path中提取出精确的字符串documents\importantdocuments

我知道这个例子看起来很傻,这里真正的上下文是将本地文件转换为远程下载链接.

推荐答案

使用PurePath.relative_to() method生成相对路径.

你不太清楚基本路径是如何确定的;这里有两个选项:

secondparent = path.parent.parent
homedir = pathlib.Path(r'C:\users\user1')

然后在path.relative_to(secondparent)path.relative_to(homedir)结果上使用str().

演示:

>>> 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'

Python-3.x相关问答推荐

math. gcd背后的算法是什么,为什么它是更快的欧几里得算法?

在numpy. linalg的qr之后使用scipy. integrate中的solve_ivp时出现了一个奇怪的错误

只有在Chrome尚未打开的情况下,打开Chrome后,PySimpleGUI窗口才会崩溃

Python根据阈值对数字进行分组

Numba编译时间呈指数级增长--可以像C编译器一样配置优化级别吗?

向前/向后移动导致移动行的数据不可见

Select 作为 MultiIndex 一部分的两个 DatetimeIndex 之间的行

如何在 20 秒后重复使用 Pillow 在现有图像上创建新图像?

这种类型提示有什么作用?

为直方图中的每个 bin 绘制不同的 colored颜色 (Matplotlib)

Await Future 来自 Executor:Future 不能在await表达式中使用

将字节数组转换为类似字节的对象?

如何禁用 pylint 禁止自用警告?

如何在 Python 3 中通过 IP 获取 WhoIs 信息?

pysftp vs. Paramiko

是否在未完成初始化的对象上调用了 del?

使用 urllib3 忽略证书验证

python中的订单字典索引

将 Python 字节转换为无符号 8 位整数

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签