我正在尝试使用Python 2-7编写一个登录模块。首先,它注册并创建文本文件。当你尝试登录时,它必须是登录的。但是当我输入正确的用户名时,它会显示错误的用户名。我该怎么解决它呢?
import time
from datetime import datetime
print "Hos Geldiniz!"
print "Giris Yapmak icin 1'i"
time.sleep( 1 )
print "Kayit Olmak icin 2'yi tuslayiniz"
sec1 = int(input("--> "))
if sec1 == 2:
ifsec1 = raw_input ("Kullanici Adi Giriniz= ")
dosya = open("kadi.txt","w")
dosya.write(ifsec1)
ifsec2 = raw_input ("Sifre Giriniz= ")
dosya2 = open("sifre.txt","w")
dosya2.write(ifsec2)
print "Basariyla Kayit Olundu!"
print "Giris Yapmak icin programi kapatip aciniz"
if sec1 == 1:
ok1 = open("kadi.txt","r")
ok2 = open("sifre.txt","r")
kadi = raw_input ("Kullanici Adim= ")
if (kadi == ok1):
sifre = raw_input ("Sifrem= ")
if (sifre == ok2):
print kadi + ", Olarak Giris Yapildi"
print "Hosgeldin, " + kadi
else:
print "Yanlis Sifre!"
else:
print "Yanlis Kullanici Adi!"发布于 2017-02-26 01:37:04
ok1 = open("kadi.txt","r")
ok2 = open("sifre.txt","r")您的ok1和ok2变量不是字符串,而是文件句柄。你在比较错误的数据。
快速修复(处理行尾字符以防万一):
ok1 = open("kadi.txt","r").read().rstrip("\n")
ok2 = open("sifre.txt","r").read().rstrip("\n")请注意,从Python2.7开始习惯使用上下文管理器,因此您可以精确地控制文件何时关闭(当您退出with块时)。
with open("kadi.txt") as f:
ok1 = f.read().rstrip("\n")https://stackoverflow.com/questions/42459325
复制相似问题