форматированный ввод из файла в Python

#python #nltk

#python #nltk

Вопрос:

я пытаюсь прочитать файл в своей программе на Python и применить к нему токенизатор, чтобы разделить текст на набор предложений. Однако в моем выводе я получаю символ ‘/ n’, которого я хотел бы избежать в выводе, поскольку это может помешать моим дальнейшим процессам над предложениями. Я прочитал ввод с помощью команды read(). Также пробовал readline(). я все еще получаю символы новой строки на выходе. Любые предложения по предотвращению этого?

 file_sent = open(path,'r')
all_sents = file_sent.read()
sent_all = print all_sents
tokenized_sents = sent_tokenize(sent_all)
 

Комментарии:

1. » n» — это текстовый символ для перевода строки.

2. Я знаю это, но я не хочу, чтобы это было на моем входе.

3. Этот код не должен выполняться. Строка sent_all = print all_sents вызывает ошибку «недопустимый синтаксис». Что вы делаете, чтобы заставить это работать?

Ответ №1:

Если вы хотите полностью удалить новые строки:

 all_sents = file_sent.read().replace('n', '')
 

Если вы хотите заменить их пробелами:

 all_sents = file_sent.read().replace('n', ' ')
 

Очевидно, вы могли бы заменить их чем-то другим, если бы захотели.

Комментарии:

1. это правда, спасибо! Но мне было интересно, есть ли какой-либо другой способ, которым мы могли бы сделать то же самое.

2. О каком именно другом способе вы думаете? Вы могли бы использовать его в какой-то другой момент обработки. Например, если вы разделите его на слова, вы можете использовать .split() which, который будет отлично работать с любыми пробелами, включая новые строки, и в этот момент они исчезнут.