Работа с файлами Python. Переменная и split
Нужно создать вручную файл( но я пока сделал чтобы он создавался сам) в файле содержатся предложение потом в коде надо считать содержимое этого файла в переменную. Не понимаю переменная это как? Потом нужно разбить эту текстовую переменную в массив( я так понимаю это с помощью split, только куда её вставлять) потом в этот масив нужно добавить 4 строки любых и записать всё в новый файл. Тоесть из первого файла надо выдернуть этот масив и добавить новые 4 строки(которые вводишь через консоль) и чтобы создавался новый файл с этим текстом? Вот код, правда я не догоняю как перенести с одного файла в другой новый текст.Получилось только добавлять в него строки и сохранят его же отредоктированным.
f = open("tekst.txt", 'w+')
line1 = input()
line2 = input()
line3 = input()
line4 = input()
f.write(line1)
f.write(" ")
f.write(line2)
f.write(" ")
f.write(line3)
f.write(" ")
f.write(line4)
f.close()
f = open("tekst.txt", 'r')
print("Содержание файла:\n", f.read())
f.close()
f = open("tekst.txt", 'w+')
f.write(line2)
f.write(" ")
f.write(line4)
f.close()
f = open("tekst.txt", 'r')
print("Слова в чётных позициях:\n", f.read())
f.close
Ответы (1 шт):
Вы на правильно пути! Но вам нужно запомнить строки прочитанные из tekst.txt для этого их нужно записать в переменную. В моем примере это список words. Затем модифицируем список и пишем в новый файл.
Для работы с файлами хорошим тоном является использование контекстного оператора with, который контролирует открытие и закрытия файла
with open("file.txt", "r", encoding="utf-8") as f:
words = f.read().split()
for i in range(4):
words.extend(str(input("Введите строку: ")).split())
with open("file_out.txt", "w", encoding="utf-8") as f:
for i in range(len(words)):
if i % 2 == 0:
print(i)
f.write(words[i] + " ")
input:
Введите строку: Привет
Введите строку: Солнышко
Введите строку: Зебра
Введите строку: bar
file.txt
Hello, world! Hello, python!
file_out.txt
Hello, Hello, Привет Зебра