#python #tkinter
#python #tkinter
Вопрос:
Я создал поле ввода:
Я создал текстовый файл:
save_file.close()
However the data being entered is not saving to the text file. This is being saved:
Учетные записи
Объект ввода .!запись>>Объект ввода .!entry2>>
Any idea on how to fix this?
Ответ №1:
Вам нужно вызвать метод get.
Изменить
save_file.write(str(username_input_box.get))
Для
save_file.write(str(username_input_box.get()))
Поскольку у вас возникли проблемы, я написал очень простую версию вашей программы, которую я протестировал, и она работает. Он записывает текст «Учетные записи» в файл, и при нажатии кнопки он также записывает содержимое поля ввода в файл. Если ваш код по-прежнему не работает, возможно, вам потребуется опубликовать более полный и исполняемый пример вашего кода
from tkinter import *
def creating_text_file():
save_file = open("Accounts.txt", "a")
title = "Accounts"
line = "n"
save_file.write(title)
save_file.write(line)
save_file.close()
def apending_to_text_file():
save_file = open("Accounts.txt", "a")
save_file.write(str(username_input_box.get()))
save_file.write("n")
save_file.close()
root = Tk()
username_input_box = Entry(root, width=30)
username_input_box.grid()
btn = Button(root,text="Press Me",command=apending_to_text_file)
btn.grid()
creating_text_file()
root.mainloop()
В качестве улучшения я бы использовал контекстные менеджеры для открытия / закрытия вашего файла. Они выглядят так
with open("Accounts.txt", "a") as save_file:
save_file.write("Some random text")
#No need to close the file as the context manager does this for you
Комментарии:
1. К сожалению, он по-прежнему не работает, когда я открываю текстовый файл, там ничего не сохраняется, и сообщения об ошибке нет. Есть идеи? xx
2. Вы знаете, как заставить кнопку иметь 2 команды? x
3. @Katie010203 Звучит как тема для другого вопроса. Несколько тем в одном вопросе не одобряются