Форум сайта python.su
0
Здравствуйте.
Столкнулся с такой проблемой:
Как мне очистить строки от служебных символов (перевод строки, перевод каретки)?
Есть метод strip(), кое-где написано, что он удаляет не только пробелы в начале и конце строки но и служебные символы.
Считываю строки из файла
input = open("myfile.txt", "r", encoding="utf-8") arr1 = input.readlines() input.close()
arr1[0].strip()
Отредактировано Red_baron (Сен. 13, 2012 16:06:01)
Офлайн
173
with open("myfile.txt", "r", encoding="utf-8") as input: arr1 = input.read().splitlines()
Офлайн
52
>>> s = 'asdadsadas\n' >>> s.strip() 'asdadsadas' >>> s = 'asdadsadas\r' >>> s.strip() 'asdadsadas'
Офлайн
0
reclosedevСпасибо заработало.
with open(“myfile.txt”, “r”, encoding=“utf-8”) as input:
arr1 = input.read().splitlines()
fata1exПопробуйте так
ЧЯДНТ?
s = ["strgfhfg\n", "dfghdfhdf"] s[0].strip() print(s)
Офлайн
173
Red_baronСтроки в Python - неизменяемые.
Попробуйте так
s[0] = s[0].strip()
Офлайн
0
К сожалению я думал, что метод strip делает присваивание нового значения автоматически.
Еще раз спасибо. Решил использовать Ваш вариант из второго сообщения.
Офлайн
857
reclosedev, input() перекрыл
Red_baron, более точное s.rstrip('\r\n')
Отредактировано py.user.next (Сен. 14, 2012 03:07:48)
Офлайн