Thanks guys, you answered that interactive prompt question really clearly however, whats going on here. This works now -
>>> working_string = '123;abc' >>> search_string = ';' >>> print working_string.replace(search_string, '\\' + search_string) 123\;abc But this doesn't - --- import sys import string input = string.join(sys.argv[1:], '') escape_char_list = [ '(', '[]', ';', '^', '\\', '/', '|', '*', '$', '&', '[', ']', ')', '?' ] for ch in escape_char_list: input = input.replace(ch, '\\' + ch) print input --- Try "123 *?/ abc d;o /$'" as the argument... and you get - 123 \*\?\/ abc d\\;o \/\$ Still two back slashes, did i miss something very obvious? Sorry, sometimes these things are exasperating and just need more eyes or a head screwed on (if thats the case!). Nick -- http://mail.python.org/mailman/listinfo/python-list