2016-02-08 4 views
0

Я читаю выход из программы, как этотPython удалить разрывы строк

test_output = test_run.communicate(input=str.encode(input))[0] 
output = test_output .decode('utf-8').strip() 

и если программа возвращает новую строку, как этот

>>> a 
>>> b 

он читает его, как это (с repr())

>>> 'a\r\nb' 

Я попытался снять разрывы линии с

output.replace(r"\r\n","") 

, но это не работает, если я печатаю его как обычные строки возвращает

>>> a 
>>> b 

и магнезии()

>>> 'a\r\nb' 

Как я могу удалить \ г \ п от моей строки?

+0

Также см [Как я могу удалить (грызть) новая строка в Python?] (http://stackoverflow.com/q/275018) и [Как удалить \ n из элемента списка?] (http://stackoverflow.com/q/3849509) –

ответ

1

Не используйте регулярное выражение, регулярное выражение не делать то, что вы думаете, что делает:

>>> 'a\r\nb'.replace('\r\n', '') 
'ab' 

т.е. просто удалить r в replace(r'\r\n', '')

Смежные вопросы