[Python-Dev] Unix line endings required for PyRun* breaking embedded Python (original) (raw)
Jack Jansen Jack.Jansen at cwi.nl
Fri Jan 21 13:44:22 CET 2005
- Previous message: [Python-Dev] Re: Unix line endings required for PyRun* breakingembedded Python
- Next message: [Python-Dev] Unix line endings required for PyRun* breaking embedded Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 21 Jan 2005, at 08:18, Stuart Bishop wrote:
Just van Rossum wrote:
Skip Montanaro wrote:
Just re.sub("[\r\n]+", "\n", s) and I think you're good to go. I don't think that in general you want to fold multiple empty lines into one. This would be my prefered regex: s = re.sub(r"\r\n?", "\n", s) Catches both DOS and old-style Mac line endings. Alternatively, you can use s.splitlines(): s = "\n".join(s.splitlines()) + "\n" This also makes sure the string ends with a \n, which may or may not be a good thing, depending on your application. Do people consider this a bug that should be fixed in Python 2.4.1 and Python 2.3.6 (if it ever exists), or is the resposibility for doing this transformation on the application that embeds Python?
It could theoretically break something: a program that uses unix line-endings but embeds \r or \r\n in string data.
But this is rather theoretical, I don't think I'd have a problem with fixing this. The real problem is: who will fix it, because the fix isn't going to be as trivial as the Python code posted here, I'm afraid...
Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack If I can't dance I don't want to be part of your revolution -- Emma Goldman
- Previous message: [Python-Dev] Re: Unix line endings required for PyRun* breakingembedded Python
- Next message: [Python-Dev] Unix line endings required for PyRun* breaking embedded Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]