python - 逐行读取 .txt 文件

python - read .txt file line by line

我正在尝试读取我的文件中包含用户名列表的每一行,而不是用它创建一个登录系统。我正在尝试实现一个基本登录系统,该系统将用户名存储在 .txt 文件中,但我的代码不起作用,我也不知道为什么。我认为问题出在我检查用户名的循环中。

这是我的代码,但它不起作用,只是一直打印失败:

a = input('do you have an account y/n:')
 

if a == 'y':
    b = input('insert username:')

    file1 = open('file.txt', 'r')
    lines = file1.readlines()

    for line in lines:
        if not lines:
            pass 
            if line == b:
                print('pass')

    else:
        print('fail')

else:
    d = input('new username:')

    f = open("file.txt", "a")
    print(d, file=f)
    f.close()

有什么想法吗?

for line in lines:
    if not lines:
        pass 
        if line == b:
            print('pass')

如果文件有任何内容,if not lines 永远不会成立。由于 if line == b 在其下方缩进,因此它永远不会被执行。

此外,当您像这样遍历文件中的行时,line 末尾将有一个换行符,因此 if line == b 无论如何都不是真的。您必须去掉换行符。

试试这个:

for line in lines:
    if line.strip() == b:
        print('pass')