How to add prefix or suffix to image urls in Python

Nick Ang
1 min readJul 27, 2017

--

To add a suffix to an image url string in Python, you’ll need to use the re (regular expression) module. We can use regex to identify the file format (eg .jpg or .png) and insert some text just before it.

Adding a suffix to image urls (eg. from abc.com/img/image.jpg to abc.com/img/image_small.jpg) can be useful for getting smaller or larger images from a server that supports this handy technique. Shopify is a good example of a company that practices this.

Here’s the code:

import re

def add_suffix_to_image_url(image_url, suffix):
"""
Add suffix (eg. "_large") to image name just before .jpg or .png
"""
try:
# Find a match of '.jpg' or '.png'
index = re.search(r"(\.jpg|\.png)", image_url)
if not index:
return image_url
else:
# Get zero-based index of the start of the matched term in image_url
index = index.start()
# Doctor the string by splitting and rejoining with [:index] and [index:]!
return image_url[:index] + suffix + image_url[index:]
except:
return image_url

add_suffix_to_image_url('https://example.com/image/some-cat-image.jpg', '_large')
#= https://example.com/image/some-cat-image_large.jpg

I’m not sure what use cases there might be for adding prefixes. Some cases probably exist but most likely not for image urls (?). In any case, to do that, just tweak the regex pattern:

# The same idea applies to adding prefix - just change the regex pattern
index = re.search(r"(http://|https://)", image_url)

# Use index.end() to get index of end of matched term
index = index.end()

Additional notes:
See it in action on repl
Python regex documentation

Originally published at Nick Ang.

--

--

Nick Ang
Nick Ang

Written by Nick Ang

Software Engineer. Dad, rock climber, writer, something something. Big on learning everyday.

No responses yet