Python3 Как сделать функцию, при выполнении которой в другом файле перед определенной строкой будет создаваться другая строка
Python3 Как сделать функцию, при выполнении которой в другом файле перед определенной строкой будет создаваться другая строка. Мне нужно для генерации кода в определенном месте по нажатию кнопки в tkinter.
Ответы (1 шт):
Автор решения: ikikaidesu
→ Ссылка
# создаем функцию принимающую имя файла, строку куда вставлять, текст для вставки
def insert_into_file(file_name, text_line, text_to_add):
# открываем файл в режиме для чтения с кодировкой для русского языка
with open(file_name, 'r', encoding='utf-8') as read_file:
# читаем все линии(получается массив из линий)
text = read_file.readlines()
# вставляем в массив текст
text.insert(text_line, text_to_add+"\n")
# открываем файл в режиме для записи с кодировкой для русского языка
with open(file_name, 'w', encoding='utf-8') as write_file:
# обходим массив текста
for i in text:
# записываем
write_file.write(i)
insert_into_file("ex.txt", 0, "123")
insert_into_file("ex.txt", 3, "456")
вот содержимое файла "ex.txt" до функции
В лесу родилась ёлочка,
В лесу она росла,
Зимой и летом стройная,
зеленая была.
вот после функции
123
В лесу родилась ёлочка,
В лесу она росла,
456
Зимой и летом стройная,
зеленая была.