我试图确定URL的基础,或者除了页面和参数之外的所有内容.我试过使用split,但是有没有比把它分成碎片更好的方法呢?有没有办法删除最后一个"/"中的所有内容?
鉴于此:
我想:
我试图确定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
组件,然后重新组合,这样就可以在不丢失查询和散列信息的情况下修剪路径.
最后,如果你想在最后一条斜线后分割出一个组件,你可以用1
的maxsplit
做一个rsplit
,并保留第一个组件:
>>> 'http://127.0.0.1/asdf/login.php'.rsplit('/', 1)[0]
'http://127.0.0.1/asdf'