Чтение строк в файле, заканчивающихся на \ n - PullRequest
0 голосов
/ 02 апреля 2019

Когда я делаю

f = open("test.txt","r")
s = f.readline()
l = s.split[' ']

, в котором входной файл имеет содержимое 2 3\n.s имеет значение ['2', '3\n'].Есть ли способ сказать Python, что каждая строка заканчивается \n и, следовательно, он не должен читать его?

Содержимое файла:

3 2\n
#1###2#\n
****#**\n
##*###*\n
#******\n
#*#O##*\n

Я сделаю другие операции для других строк.Но мне все равно нужно избавиться от \n

1 Ответ

1 голос
/ 02 апреля 2019

Предостережение заключается в том, что кроме литерала '\n' также имеется фактический \n в конце каждой строки (кроме последней строки, в которой есть только литерал '\n'):

with open('test.txt') as f:
    print(f.readlines())
# ['3 2\\n\n', '#1###2#\\n\n', '****#**\\n\n', '##*###*\\n\n', '#******\\n\n', '#*#O##*\\n']

Вам нужно позвонить .strip как с буквальным '\n', так и с фактическим \n:

with open('test.txt') as f:
    lines = [line.strip('\\n\n') for line in f]

print(lines)
# ['3 2', '#1###2#', '****#**', '##*###*', '#******', '#*#O##*']
...