私の作業ディレクトリにデータが入っている私のDBとしてメモ帳でtkinterにパスワードシステムを作成したいが、入力フィールドにデータを挿入すると、失敗しました.txtファイルを作成しましたが、関数がファイルから読み取ることができないようです。これを行う方法に関する提案。ファイルからデータを読み込むtkinterでパスワードシステムを作成する方法
import tkinter as tk
import sys
from tkinter import messagebox
now = open("passdoc.txt","w+")
now.write("user\n")
now.write("python3")
now.close()
def login_in():
with open("passdoc.txt") as f:
new = f.readlines()
name = new[0].rstrip()
password = new[1].rstrip()
if entry1.get() == new[0] in passdoc.txt and entry2.get() == new[1] in
passdoc.txt:
root.deiconify()
log.destroy()
else:
messagebox.showerror("error","login Failed")
def close():
log.destroy() #Removes toplevel window
root.destroy() #Removes root window
sys.exit() #Ends the script
root=tk.Tk()
log = tk.Toplevel() #
root.geometry("350x350")
log.geometry("200x200")
entry1 = tk.Entry(log) #Username entry
entry2 = tk.Entry(log) #Password entry
button1 = tk.Button(log, text="Login", command=login_in) #Login button
button2 = tk.Button(log, text="Cancel", command=close) #Cancel button
label1 = tk.Label(root, text="tkinter password system")
entry1.pack()
entry2.pack()
button1.pack()
button2.pack()
label1.place(x=30,y=300)
label = tk.Label(root, text="welcome").pack()
root.withdraw()
root.mainloop()
私もこの機能を作成したが、すべてはあなたがいくつかの作業を必要とし、あなたのコード内のいくつかを持っていますが、主な問題は、あなたのlogin_in()
機能である私のため
def login_in():
with open("passdoc.txt") as f:
new = f.readlines()
name = new[0].rstrip()
password = new[1].rstrip()
if entry1.get() == name in passdoc.txt and entry2.get() == password in
passdoc.txt:
root.deiconify()
log.destroy()
else:
messagebox.showerror("errror","login failed") #error login failed
(corrections)
ボタンを押したときに名前とパスワードの内容を確認しようとしましたか?これらの行のすぐ下にprintステートメントを追加してチェックすることができます。 – Lafexlos
また、ifステートメントは間違っています。このコードでこの行にNameErrorを取得する必要があります。 – Lafexlos