【发布时间】:2017-10-05 19:18:51
【问题描述】:
我需要有关此代码的帮助,因为我不知道我哪里出了问题,因为我希望 if 语句先读取 abc,然后再读取 def,这样它就可以说授予访问权限。下面是代码:
file=open("test.txt","r")
username = input("enter username")
if file.read() == username:
print("Enter password")
else:
print("enter password")
password = input()
if file.read() == password:
print ("acsess granted")
else:
print ("access denied")
这是文本文件的内容:
abc
def
我遇到的问题是它总是输出access denied,因为 abc 和 def 都在两个单独的行中。我使用了f.readlines(),但这也输出了相同的消息。将\n 放入代码中会导致此错误消息:
Traceback (most recent call last):
File "/Users/boys/Documents/test.py", line 8, in <module>
if file.read('\n') == password:
TypeError: integer argument expected, got 'str'
注意:为此,我必须拥有多个用户名和密码,以及一个管理员用户名和管理员密码。
【问题讨论】:
-
我想你可能想要
file.readline()。 -
我已经这样做了,但是它仍然会输出'访问被拒绝'
-
file.readline()是否包含尾随换行符?我不知道,但这会导致这种行为。 -
什么意思?
-
我的意思是
file.readline()可能会给出"abc"或者它可能会给出"abc\n",我不确定没有仔细检查。
标签: python python-2.7 python-3.x