> Even stranger > > >>> re.sub('a', '\\n','bab') > 'b\nb' > >>> print re.sub('a', '\\n','bab') > b > b
That's to be expected. When not using a print statement, the raw evaluation prints the representation of the object. In this case, the representation is 'b\nb'. When you use the print statement, it actually prints the characters rather than their representations. No need to mess with re.sub() to get the behavior: >>> s = 'a\nb' >>> s 'a\nb' >>> print s a b >>> print repr(s) 'a\nb' -tkc -- http://mail.python.org/mailman/listinfo/python-list