Python 3.6中如何提取URL指定部分作为变量?
用Python 3.6提取URL指定部分的方法
嘿,这事儿不难,我给你整理了几个靠谱的方法,都能在Python 3.6里顺利实现:
方法1:结合urllib.parse和字符串处理
先用urllib.parse解析URL拆分出路径部分,再一步步提取目标内容:
from urllib.parse import urlparse url = "http://example.com/comp/project.sec" # 解析URL,获取路径部分 parsed_url = urlparse(url) path = parsed_url.path # 得到 "/comp/project.sec" # 拆分路径,取最后一段(即"project.sec") filename = path.split('/')[-1] # 去掉.sec后缀(只拆分最后一个点,避免文件名里有多个点的情况) project_name = filename.rsplit('.', 1)[0] print(project_name) # 输出: project
方法2:用os.path模块简化路径处理
os.path专门用来处理路径相关操作,对URL的路径部分也适用,代码会更简洁:
import os from urllib.parse import urlparse url = "http://example.com/comp/project.sec" parsed_url = urlparse(url) # 先取路径的最后部分 basename = os.path.basename(parsed_url.path) # 拆分文件名和后缀,直接丢弃后缀部分 project_name, _ = os.path.splitext(basename) print(project_name) # 输出: project
方法3:正则表达式(适合复杂URL场景)
如果你的URL格式有多种变化,正则表达式会更灵活,能精准匹配你要的部分:
import re url = "http://example.com/comp/project.sec" # 正则规则:匹配最后一个/之后、.sec之前的内容 match = re.search(r'/([^/.]+)\.sec$', url) if match: project_name = match.group(1) print(project_name) # 输出: project
这几个方法都能达到你的需求,你可以根据自己的实际场景选最合适的~
内容的提问来源于stack exchange,提问作者Tomer Leibovich
相关产品推荐
相关产品推荐

