Форум сайта python.su
0
Совершенно идиотский вопрос. Из файла readlines выбирает все строки, но после каждой ставит \n. Так как это служебный символ replace(r'\n', '') ничего не дает, злополучный перевод строки остается на своем месте. Как блин его удалить?
['\xd0\x9c\xd0\xb8\xd0\xbb\xd0\xbb\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 003\n', '\xd0\xa1\xd0\xb0\xd0\xbd\xd1\x82\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 004\n', '\xd0\x94\xd0\xb5\xd1\x86\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 005\n', '\xd0\x9c\xd0\xb5\xd1\x82\xd1\x80 - 006\n', '\xd0\x9a\xd0\xb2\xd0\xb0\xd0\xb4\xd1\x80\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xbc\xd0\xb8\xd0\xbb\xd0\xbb\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 050\n', '\xd0\x9a\xd0\xb2\xd0\xb0\xd0\xb4\xd1\x80\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd1\x81\xd0\xb0\xd0\xbd\xd1\x82\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 051\n', '\xd0\x9a\xd0\xb2\xd0\xb0\xd0\xb4\xd1\x80\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xb4\xd0\xb5\xd1\x86\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x82\xd1\x80 - 053\n' ну и т. д.
Офлайн
52
[01:23] home:~/dev cat in
1
2
3
4
5
6
>>> map(lambda s: s.replace('\n', ''), open('in', 'r').readlines()) ['1', '2', '3', '4', '5', '6']
>>> map(lambda s: s[:-1], open('in', 'r').readlines()) ['1', '2', '3', '4', '5', '6']
>>> map(lambda s: s.rstrip(), open('in', 'r').readlines()) ['1', '2', '3', '4', '5', '6']
Отредактировано fata1ex (Июнь 18, 2012 00:26:52)
Офлайн
857
>>> with open('/etc/passwd') as fin: ... lines = fin.read().splitlines() ... >>> lines[:3] ['root:x:0:0:root:/root:/bin/bash', 'bin:x:1:1:bin:/bin:/sbin/nologin', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin'] >>>
Офлайн
14
SerbisКоллективный тупняк?
Так как это служебный символ replace(r'\n', '') ничего не дает,

replace('\n', '')
Офлайн