Как сохранить файл в этом коде
Пытаюсь написать голосовой текстовый редактор на tkinter и speech_recognition. Проблема в том что не могу понять, как заставить работать кнопку "сохранить текст" в txt формат. Что бы все что была сказано в микрофон и отражено в редакторе, можно было сохранить нажатием на кнопку.
Если быть точнее то проблема в этом:
# Функция сохранения
def save_txt():
text_file = open('Записаеный текст', 'w')
text_file.write(())
В строке text_file.write(()) после write, нужно дописать какую то переменную отвечающею за что то.
Вот тут я уже не понимаю что делать дальше. Делаю от части по видеоурокам и с разных форумов, пытаясь все это подружить между собой.
Получается плохо как видите :с
Полный код программы:
import tkinter as tk
import speech_recognition as sr
window = tk.Tk()
window.geometry('650x450')
window.title('Запись микрофона')
window.resizable(False, False)
r = sr.Recognizer()
def speech():
with sr.Microphone(device_index=1) as source:
txt_label.configure(text='Говорите...')
window.update()
try:
audio = r.listen(source, phrase_time_limit=5, timeout=7)
query = r.recognize_google(audio, language='ru-RU')
except(sr.WaitTimeoutError, sr.UnknownValueError):
txt_label.configure(text='Я вас не понял или не слышу... Скажите еще раз...')
window.update()
speech()
else:
txt_label.configure(text='Нажмите на кнопку и говорите')
return query.capitalize()
# Функция записи
def insert_rec():
recording = speech()
txt.insert(1.0, recording)
# Функция сохранения
def save_txt():
text_file = open('Записаеный текст', 'w')
text_file.write(())
txt = tk.Text(window)
txt.place(x=0, y=0)
# Кнопка записи
button_rec = tk.Button(window, text='Запись', bg='red', font=('Cooper', 16), command=insert_rec)
button_rec.place(x=30, y=400)
# Кнопка сохранить
button_save = tk.Button(window, text='Сохранить', bg='green', font=('Cooper', 16), command=save_txt)
button_save.place(x=500, y=400)
# Текст между кнопок
txt_label = tk.Label(window, text='Нажмите на кнопку и говорите', font=('Cooper', 12))
txt_label.place(x=200, y=408)
window.mainloop()
Заранее благодарю всех кто поможет