Python TXT文件搜索无法正常工作



以下代码段的目的是搜索文本文件,并查找变量'名称'。如果文本文件中的任何位置都存在"名称",则应将user_new设置为False。否则,它在TXT文件中不存在,并且user_new应为True

但是,在这两种情况下,User_new都不会设置为任何内容,并导致错误:" local variable'user_new'在分配前引用"

with open("accuracy.txt", "r") as search:
    lineno = 0
    for line in search:
        lineno = lineno + 1
        if name in line:
            user_new = False
            break
        else:
            user_new = True
            break
search.close()
print(user_new)

在此代码中可能发生的唯一方法是,如果for循环没有迭代。这意味着如果语句永远不会运行,并且user_new永远不会定义。

确保accuracy.txt至少具有一条线,否则循环永远不会运行,因为没有行可以循环。

如果文本文件中没有行是不可避免的,请考虑使用以下内容检查文件的长度:

if search.read() == "":
    user_new = False

问题有时是accuracy.txt是空的,这导致循环永远不会运行,并且user_new永远不会被定义。感谢@joe Allen的答案。

最新更新