#python #tkinter
#python #tkinter
Вопрос:
Я пытаюсь создать программу, которая получает пароль и имя пользователя, используя запись tkinter, а затем сохраняет его во внешнем файле. Вот что у меня есть до сих пор:
def validateLogin(username, password):
filename = input("What is your first name?: ")
c = open(filename, "w");
print("username entered :", username.get())
print("password entered :", password.get())
c.write(username)
return
. Это как раз та часть, с которой у меня сейчас проблемы.
Комментарии:
1. «У кого-нибудь есть какие-нибудь идеи?» — на первый взгляд этот код выглядит нормально. Вы должны просто убедиться, что закрыли файл после записи. В чем «проблема», с которой вы столкнулись?
2. Он продолжает выдавать мне сообщение об ошибке, в котором говорится, что
write()
это должно быть str, а не stringvar3. Ах, тогда вы должны написать
username.get()
вместо этого4. Это когда он запрашивает ввод или в c.write?
Ответ №1:
c.write(username)
пытается записать объект типа StringVar
, но файлы, открытые c = open(filename, "w")
только с помощью работы с текстом, также известные как . str
Чтобы извлечь строку из a StringVar
, используйте get
, как вы использовали ранее в своем коде:
c.write(username.get())
c.close() # don't forget to close the file