Python实战:通过内置函数urljoin优雅的实现url链接的拼接

简介: Python实战:通过内置函数urljoin优雅的实现url链接的拼接

需求:

在一个页面中,有很多图片地址

不过,图片url是一个绝对路径地址,不带域名

我希望得到带域名的完整图片地址,这样存入数据库之后能够正常打开图片

# 当前页面地址
'https://www.demo.com/list/1'
# 图片地址
'/uploads/20211020/edb0ce29ecbe7865da2a7b904ffd85da.jpg'
# 完整图片地址
'https://www.demo.com/uploads/20211020/edb0ce29ecbe7865da2a7b904ffd85da.jpg'

第一感觉是直接拼接字符串实现

'https://www.demo.com' + '/uploads/20211020/edb0ce29ecbe7865da2a7b904ffd85da.jpg'

如果当前页面变了呢?而且这样写会出现一个硬编码的字符串,看着很不舒服

其实,我们可以通过内置函数urljoin优雅的实现url的拼接

Python3 示例

# -*- coding: utf-8 -*-
from urllib.parse import urljoin
current_url = 'https://www.demo.com/list/1'
url = '/uploads/20211020/edb0ce29ecbe7865da2a7b904ffd85da.jpg'
full_url = urljoin(current_url, url)
print(full_url)
# https://www.demo.com/uploads/20211020/edb0ce29ecbe7865da2a7b904ffd85da.jpg


相关文章
|
21天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
124 67
|
15天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
42 18
|
1天前
|
存储 Java API
在springboot中缩短一个url链接
URL缩短服务是现代应用中常见的需求,用于将长URL映射为简短的唯一代码,便于分享。该服务具备多种功能,如自动过期、访问统计、防止重复及安全机制。通过Spring Boot构建RESTful API,使用H2数据库存储数据,Java UUID生成短码,并通过定时任务清理过期URL。用户可通过API提交长URL获取短链接,查询访问量,系统会自动重定向并记录访问次数。每天午夜自动清理过期URL,确保数据整洁。此项目结构清晰,涵盖实体类、Repository、Service和Controller等核心组件,适合快速开发和扩展。
|
6天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
38 8
|
16天前
|
Python
Python中的函数
Python中的函数
31 8
|
14天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
38 5
|
23天前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
29天前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
3月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
60 0
|
4月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
下一篇
DataWorks