взять строку из файла, в котором она занимает несколько строк - PullRequest
0 голосов
/ 10 ноября 2019

У меня проблема с программой на Python. В этой программе я должен взять строки из файла и сохранить его в список. Проблема в том, что в этом файле некоторые строки занимают больше строк.

Файл с именем 'ft1.txt' структурирован так:

'''

home

wo

rk

''''


sec

urity

'''

inform

atio

n

'''

Следовательно, открывая файл и делая f.read ()Я выхожу:

" \n\nhome\nwo\nrk\n\nsec\nurity\n\ninform\nation\nn ".

Я выполняю следующий код:

 with open('ft1.txt', 'r') as f: #i open file 
     list_strin = f.read().split('\n\n') #save string in list

Я хочу вывод [homework, security, information]. Но фактический результат равен [home\nwo\nrk, sec\nurity, inform\nation\nn]

Как удалить специальный символ "\n" в отдельных строках и правильно их объединить?

1 Ответ

0 голосов
/ 10 ноября 2019

У вас есть \n в строке. Удалить это: -)

list_strin = [x.replace('\n', '') for x in f.read().strip().split('\n\n')]

readline решение:

    res = []
    s = ''
    with open('ft1.txt', 'r') as f:
        line = f.readline()
        while line:
            line = line.strip()
            if line == '':
                if s:
                    res.append(s)
                s = ''
            else:
                s += line
            line = f.readline()
    print(res)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...