<p>您尚未在<code>adminverification()</code>中声明<code>adusername</code>和<code>adpassword</code>。因此,它导致了错误。如果要使用来自<code>adminlogindetails()</code>的变量,请更改变量名称,因为您已将详细信息存储在<code>adlogindetails.txt</code>中</p>
<p>应更改以下代码,因为<code>line</code>变量包含已存储的用户名和密码:</p>
<pre><code>adun, adpw = line.split(",")
</code></pre>
<p>将上述代码更改为如下所示:</p>
<pre><code>adusername, adpassword = line.split(",")
</code></pre>
<p>您可以使用以下选项:</p>
<pre class="lang-py prettyprint-override"><code>def adminlogindetails():
adusername = input("Admin Username: ")
adpassword = input("Admin Password: ")
adfile = open("adlogindetails.txt", "a")
adfile.writelines(adusername + ',' + adpassword )
adfile.close()
def adminverification():
adun = input("Enter your username:").strip()
adpw = input("Enter your password:").strip()
with open("adlogindetails.txt", "r") as f:
lines = f.readlines()
i = 0
for line in lines:
adusername, adpassword= line.split(",")
adusername = str(adusername).strip()
adpassword = str(adpassword).strip()
if (adun == adusername) and (adpw == adpassword):
print("Login successful!()")
adminoptions()
break
else:
i += 1
if i >= len(lines): #If no any match upto last line, this will be true
print("Incorrect username/password")
roleselection()
break
adminverification()
</code></pre>