Задать вопрос
@Smeilz1
За любое развитие

Как считать несколько абзацев из файла в список?

Нужно прочитать все слова разделенные пробелом из файла и поместить их в лист.
"aYc dUpdXcbU aYc aa aa TbZdcdUYp d d pUXpUZ p p cYXT c bcbpb ccYaXpap X YaYbZ bcbpb ZUTU XZpTUdpZ YYUcYYXXb ccT U UZcU c Z aYc Zpbb bUZYc ZUTU apcZUYYZT Zpbb a T TbZdcdUYp cbUZ TbTapUZc ZXTcTaXU YcTbUTZp TbZdcdUYp ZUTU Z cUZccU dTcUXbda ppUTc
b YpY TbpcpdpZb pT UUXYaTZc TbpcpdpZb XTZ YTpXcb TbpcpdpZb dXddT b bUYc pT TcbXUX acTXpbaXc TbpcpdpZb Zc pcXZcZa"
Выполняю:
<code lang="python">
with open('dataset_3363_3.txt') as inf:
    g = inf.readline()
    p = g.split()
    print(p)
</code>

Получаю только строку до абзаца
Если выполняю.
with open('dataset_3363_3.txt') as inf:
    g = inf.readlines()
    print(g)

Получаю слова в одном большом листе вместе с переводом каретки \n.
Как быть?
upd. Нашел решение, может кому-то поможет.
with open('dataset_3363_3.txt') as f: #Считали файл
    p = f.read().lower().strip().split()
  • Вопрос задан
  • 383 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Sly_tom_cat
@Sly_tom_cat
.
with open('dataset_3363_3.txt') as f:
    p = f.read().split()

Но такое решение чревато тем что может упасть если файл будет очень большим, поэтому так лучше никогда не делать. Лучше читать построчно. Например так:

p = []
with open('dataset_3363_3.txt') as f:
    for l in f:
       p += l.split()

Результат тот же, но может обработать очень большой файл без падения по переполнению памяти. Хотя и такой вариант можно положить если в большом файле не будет переводов строк.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы