Edward K Ream wrote: > It looks like both exec and execfile are converting "\n" to an actual > newline > in docstrings! > > Start idle: > > Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on > win32 > [rest of signon deleted] > >>>> s = '''\ > strings = 'abc'.split("\n") > ''' >>>> print s > strings = 'abc'.split(" > ") > > I see this in my own calls to exec and execfile. Is this a bug or am I > missing something? > Python is doing exactly what you told it to do. You created a string with triple single-quote delimiters. Nothing in the string literal syntax says that escape sequences will not be actioned, so the literal has a value that includes a newline.
This has nothing to do with exec, and I don't believe it will happen with execfile should you create a file with a legal Python program inside it. The problem is because you are trying to represent a Python program as a Python string literal, and doing it incorrectly. What you did is no different from writing: >>> s = '''\ ... This is a string with\nan embedded newline''' >>> print s This is a string with an embedded newline >>> It just doesn't match your expectations, is all. regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden --------------- Asciimercial ------------------ Get on the web: Blog, lens and tag the Internet Many services currently offer free registration ----------- Thank You for Reading ------------- -- http://mail.python.org/mailman/listinfo/python-list