Python查找问题

2024-04-24 16:04:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python从链接中提取文件名,如下所示:

url = "http://www.google.com/test.php"

print url[url.rfind("/") +1 : ]

如果链接末尾没有“/”,则此操作正常,并返回“测试.php". 我遇到过结尾带有/的链接,如“http://www.google.com/test.php/”。当页面末尾有“/”时,我无法获得页面名称,有人能帮忙吗?在

干杯


Tags: test名称comhttpurl链接文件名www
3条回答

仅仅删除末尾的斜杠是行不通的,因为您可能有一个如下所示的URL:

http://www.google.com/test.php?filepath=tests/hey.xml

……那样的话你会回来的”嘿.xml". 您可以使用urlparse删除参数,然后执行其他人建议的检查,而不是手动进行检查:

^{pr2}$

在技术上,末尾带有斜杠的文件名仍然是路径定义,并指示要读取索引文件。如果有一个以test.php/结尾的,我会认为这是一个错误。在任何情况下,您都可以在运行代码之前从末尾去掉/,如下所示:

url = url.rstrip('/')

使用[r]条带删除尾部斜杠:

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

如果一个更广泛的可能的网址是可能的,包括网址与?查询,#锚定或没有路径,请使用urlparse正确执行:

^{pr2}$

相关问题 更多 >