如何获得一个URL中的最后一个斜杠后的一切?

我怎样才能提取Python中的URL中的最后一个斜杠之后? 例如,这些url应该返回以下内容:

URL: http://www.test.com/TEST1 returns: TEST1 URL: http://www.test.com/page/TEST2 returns: TEST2 URL: http://www.test.com/page/page/12345 returns: 12345 

我试过urlparse,但是这给了我完整的path文件名,如page/page/12345

你不需要花哨的东西,只要看到在标准库中的string方法 ,你可以很容易地分裂你的url之间的文件名部分和其余部分:

 url.rsplit('/', 1) 

所以你可以简单地得到你感兴趣的部分:

 url.rsplit('/', 1)[-1] 

多一个(idio(ma)tic)的方式:

 URL.split("/")[-1] 

rsplit应该由任务决定:

 In [1]: 'http://www.test.com/page/TEST2'.rsplit('/', 1)[1] Out[1]: 'TEST2' 

urlparse很好用,如果你想(摆脱任何查询string参数)。

 import urllib.parse urls = [ 'http://www.test.com/TEST1', 'http://www.test.com/page/TEST2', 'http://www.test.com/page/page/12345', 'http://www.test.com/page/page/12345?abc=123' ] for i in urls: url_parts = urllib.parse.urlparse(i) path_parts = url_parts[2].rpartition('/') print('URL: {}\nreturns: {}\n'.format(i, path_parts[2])) 

输出:

 URL: http://www.test.com/TEST1 returns: TEST1 URL: http://www.test.com/page/TEST2 returns: TEST2 URL: http://www.test.com/page/page/12345 returns: 12345 URL: http://www.test.com/page/page/12345?abc=123 returns: 12345 

你可以这样做:

 head, tail = os.path.split(url) 

尾巴将是你的文件名。

 extracted_url = url[url.rfind("/")+1:]; 

partitionpartition也是这样的事情:

 url.rpartition('/')[2] 

拆分url并popup最后一个元素url.split('/').pop()

 url ='http://www.test.com/page/TEST2'.split('/')[4] print url 

输出: TEST2