修改字典值:将商品ID对应的图片URL替换为远程服务器路径
解决方案
你可以通过提取原图片URL中的文件名,再与指定的远程目录路径拼接,来生成目标字典。以下是Python实现代码:
import os original_dict = { '0161811ZWA': [ 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-deauville-0161811-black-0_3456144.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-deauville-0161811-black-2_3456145.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-deauville-0161811-black-3_3456146.jpg' ], '0162121ZWA': [ 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-madison-0162121-black-0_3455932.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-madison-0162121-black-2_3455933.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-madison-0162121-black-2__3524387.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-madison-0162121-black-3_3455934.jpg', 'https://media.lingeriestyling.com/eservices/primadonna-lingerie-underwired_bra-madison-0162121-black-3__3524386.jpg' ] } remote_dir = '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/' # 生成新字典 new_dict = { product_id: [os.path.join(remote_dir, os.path.basename(url)) for url in urls] for product_id, urls in original_dict.items() } print(new_dict)
代码说明:
- 使用
os.path.basename(url)从每个图片URL中提取文件名(例如从完整URL中取出primadonna-lingerie-underwired_bra-deauville-0161811-black-0_3456144.jpg)。 - 用
os.path.join(remote_dir, filename)拼接远程目录和文件名,确保路径格式在不同操作系统下都能正确生成(如果确定是Unix风格路径,也可以直接用字符串拼接remote_dir + filename,但os.path.join兼容性更强)。 - 通过字典推导式遍历原字典的所有键值对,批量生成新的路径列表。
执行后得到的新字典结构示例:
{ '0161811ZWA': [ '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-deauville-0161811-black-0_3456144.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-deauville-0161811-black-2_3456145.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-deauville-0161811-black-3_3456146.jpg' ], '0162121ZWA': [ '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-madison-0162121-black-0_3455932.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-madison-0162121-black-2_3455933.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-madison-0162121-black-2__3524387.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-madison-0162121-black-3_3455934.jpg', '/httpdocs/PRODUCT_IMAGES/VDV/RESIZED/primadonna-lingerie-underwired_bra-madison-0162121-black-3__3524386.jpg' ] }
内容的提问来源于stack exchange,提问作者Ron Kieftenbeld
相关产品推荐
相关产品推荐

