Python 读取.txt并将内容输入文本框
我试图读取一个txt文件,其中存储用户名和密码,如下所示:Python 读取.txt并将内容输入文本框,python,tkinter,text-files,Python,Tkinter,Text Files,我试图读取一个txt文件,其中存储用户名和密码,如下所示: 用户名|密码 让python将这两个输入到单独的文本框中,基本上是一个用于登录的基本“记住我”系统 savehover()如果运行了savepassinput(),则将小部件的前景色更改为不同的颜色 如果.txt为空,则不应运行savepassinput(),也不应运行pass 我这里的代码没有给我任何错误,但是它没有在文本框中输入任何内容,也没有更改按钮的颜色 我的.txt文件中的所有内容都经过了格式化以适合代码,那么问题出在哪里呢
用户名|密码
让python将这两个输入到单独的文本框中,基本上是一个用于登录的基本“记住我”系统
savehover()
如果运行了savepassinput()
,则将小部件的前景色更改为不同的颜色
如果.txt为空,则不应运行savepassinput()
,也不应运行pass
我这里的代码没有给我任何错误,但是它没有在文本框中输入任何内容,也没有更改按钮的颜色
我的.txt文件中的所有内容都经过了格式化以适合代码,那么问题出在哪里呢
def savepassinput():
savehover()
passtxt = open("rememberme.txt", 'r')
passtxt.read()
usr, pas = line.strip().split("|")
textentry.insert(usr)
textentry2.insert(pas)
def savepasscheck():
passtxt = open("rememberme.txt", 'r')
passtxt.read()
if passtxt.read() == "":
pass
else:
savepassinput()
passtxt.close()
假设代码中的
textbox.insert()
是正确的:
首先,您应该尝试使用语句,因为它可以确保正确打开和关闭文件
其次,您将read()
文件读取两次。它所做的是在第一次读取时将光标移动到文件末尾,然后如果再次读取,它将什么也不读取。这就是为什么没有调用其他函数的原因
然后,这样做比较:如果passtxt.read()==”:
通常不是最好的方法,因为您的文件可能包含空格、制表符或换行符等空格。您可以做的是strip()
刚才读取的字符串
最后,您可以使用pass
摆脱无用的if
案例。只需检查它是否为空->如果不是,请保存,如果是,请不要保存
我会这样写:
def savepasscheck():
with open("rememberme.txt", 'r') as passtxt:
if passtxt.read().strip() is not "":
savepassinput()
所以这个函数就是读取和检查。您应该真正遵守规则,并将您阅读的文本传递给其他函数:如下所示:
def savepasscheck():
with open("rememberme.txt", 'r') as passtxt:
content = passtxt.read().strip()
if content is not "":
savepassinput(content)
def savepassinput(content):
savehover()
usr, pas = content.split("|")
textentry.insert(usr)
textentry2.insert(pas)
看起来您没有正确使用file
read()
方法,因为该方法返回读取的数据,因此在savepassinput()
函数中,您需要将其分配给变量(例如line
)