Для Python 2.x используйте urllib.quote
Замените специальные символы в строке с помощью экранирования% xx.Буквы, цифры и символы «_.-» никогда не заключаются в кавычки.По умолчанию эта функция предназначена для цитирования раздела пути URL.Необязательный безопасный параметр указывает дополнительные символы, которые не должны заключаться в кавычки - его значение по умолчанию равно '/'.
пример:
In [1]: import urllib
In [2]: urllib.quote('%')
Out[2]: '%25'
РЕДАКТИРОВАТЬ :
В вашем случае, чтобы заменить пробел знаком плюс, вы можете использовать urllib.quote_plus
пример:
In [4]: urllib.quote_plus('a b')
Out[4]: 'a+b'
Для Python 3.x, используйте quote
>>> import urllib
>>> a = "asdas#@das"
>>> urllib.parse.quote(a)
'asdas%23%40das'
и для строки с пробелом quote_plus
>>> import urllib
>>> a = "as da& s#@das"
>>> urllib.parse.quote_plus(a)
'as+da%26+s%23%40das'