Необходимо перенести 2 значения выводимых в консоль в новый файл

name: str = input ("Введите имя входящего файла")
f = open (name)  # открываем файл
lines = f.readlines ()  # читаем его построчно
t: str = print (lines [23]) # выводим строки
t1: str = print (lines [24]) # выводим строки
name1: str = input ("Введите имя исходящего файла")
f = open(name1, "w+")
f.write(str(t))
f.write(str(t1))
f.close()

Собственно сам код, его результат не вывод (как я предполагал) значений отфильтрованных по строкам из документов, а всего лишь новый файл с NoneNone, прошу пояснить как это исправить, а так же помочь разобраться как правильно задавать переменные. Заранее спасибо!


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

Автор решения: Dmitry

Все достаточно просто. Ошибка здесь

t: str = print (lines [23]) # выводим строки
t1: str = print (lines [24]) # выводим строки

Переменные t и t1 содержат возврат функции print, что естественно будет None. Не понятно насколько в приципе необходимо читать с консоли, но можно решить так

name: str = input ("Введите имя входящего файла")
f = open (name, "r")  # открываем файл
lines = f.readlines ()  # читаем его построчно
t: str = lines [23] # выводим строки
t1: str = lines [24] # выводим строки
print(t, t1)
name1: str = input ("Введите имя исходящего файла")
f = open(name1, "w+")
f.write(str(t))
f.write(str(t1))
f.close()

Вторая часть вопроса: как задавать переменные? Здесь могу сказать, что лучше открыть книгу и почитать. Тема очень обширна, начиная от типов данных и заканчивая адресами в памяти, копиями и ссылками.

→ Ссылка