我试图确定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相关问答推荐

Gekko优化超出了方程式的界限(由于某种原因,会产生变量)

将Trio与基于线程的事件侦听器混合使用

添加任意数量的 pandas 数据框

Python 舍入数字不准确

如何将日期时间索引写入日期类型的表?

从 LeetCode 的 Python 解决方案类中理解关键字 self

生成具有偶数个 0 和 1 的给定长度的所有二进制数

将值从函数传递到标签

如何将搜索结果中的所有值保存在另一个列表中?

如何在两个矩阵的比较中允许任何列的符号差异,Python3?

将两列合并为一列,将它们制成字典 - pandas - groupby

包含值超出范围的 ID 的新 DataFrame 列?

Python defaultdict 在获取时返回 None,尽管使用默认值初始化

如何在 VSCode 的在 Cloud Run Emulator 上运行/调试构建设置中添加 SQL 连接

在初始化之前禁用`__setattr__`的干净方法

两个字符串之间的正则表达式匹配?

获取嵌套字典的所有键

AttributeError:LinearRegression 对象没有属性coef_

混合全局/参数和名为top的函数的奇怪python行为

如何区分文件之类的对象和文件路径之类的对象