Вывести каждое слово из файла с новой строки в терминал

Я хочу каждое слово в тексте вывести отдельно на новой строке. Например, у меня есть файл 1.txt, в котором записан текст в строки. Написал код, но не могу понять в чем проблема

user = input('Введите полный путь к файлу:')
file = open(user, 'r+', encoding='utf-8')
print(*file.split(" "))
file.close()

Ответы (1 шт):

Автор решения: Vladislav Pavkin
user = input('Введите полный путь к файлу:')
file = open(user, 'r+', encoding='utf-8')
print(*file.read().split(" "), sep='\n')
file.close()

Пояснение:

  1. Не file.split(" "), а file.read().split(" ")
  2. Добавьте перенос строки в print: print(..., sep='/n')

Если нужно сохранить вывод в новый файл с запросом его имени, то вот так:

source_filename = input('Введите путь к файлу: ')
target_filename = input('Имя файла куда сохранить: ')

with open(source_filename, 'r') as f:
    words = '\n'.join(f.read().split())

with open(target_filename, 'w') as f:
    f.write(words)
→ Ссылка