我试图确定URL的基础,或者除了页面和参数之外的所有内容.我试过使用split,但是有没有比把它分成碎片更好的方法呢?有没有办法删除最后一个"/"中的所有内容?

鉴于此:

我想:

推荐答案

首先,你可以使用os.path.dirname:

>>> os.path.dirname('http://127.0.0.1/asdf/login.php')
'http://127.0.0.1/asdf'

它并不是专门针对URL的,但它恰好对它们起作用(即使在Windows上),它只是没有留下尾随斜杠(你可以自己加回go ).

您可能还想查看urllib.parse.urlparse以获得更细粒度的解析;如果URL包含一个查询字符串或散列,您可能希望将其解析为多个部分,修剪解析返回的path组件,然后重新组合,这样就可以在不丢失查询和散列信息的情况下修剪路径.

最后,如果你想在最后一条斜线后分割出一个组件,你可以用1maxsplit做一个rsplit,并保留第一个组件:

>>> 'http://127.0.0.1/asdf/login.php'.rsplit('/', 1)[0]
'http://127.0.0.1/asdf'

Python-3.x相关问答推荐

如何在python中有效地使用多处理和pytube库来加快下载速度?

Django内置注销视图`不允许的方法(GET):/USERS/LOGOUT/`

我无法直接在 VSCode 中运行该程序,但可以使用 VScode 中的终端运行它

调用 Clear 时 Airflow 会加载新代码吗

在 Python 中实现 COM 接口

如何在 on_ready 事件中使用 change_presence? (discord.py)

Python 3 `str.__getitem__` 的计算复杂度是多少?

Pandas 值列中列表中元素的计数

对齐文本文件中的列

为什么 List 不能包含多种类型?

合并两个numpy数组

为什么等效的 Python 代码要慢得多

如何在多核上运行 Keras?

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

使用 python2 和 python3 创建一个 virtualenv

在 ubuntu 20.04 中安装 libpq-dev 时出现问题

Python3 - 如何从现有抽象类定义抽象子类?

如何从 Python 3 导入 FileNotFoundError?

如何将文档字符串放在 Enums 上?

在 Ipython 中使用 Pylint (Jupyter-Notebook)