首页 > 解决方案 > 如何使用python从txt文件中删除一行?

问题描述

我有一个文件,其中包含学生的姓名、地址、成绩等数据。我创建了一个函数,可以根据学生的名字和姓氏从文本文件中删除整行。此功能正常工作。然而,之后,我决定更新它,如果用户输入的名称不在文件中,它会打印:找不到学生。但是,现在即使用户键入文件中的名称,它仍然会打印:未找到学生...

这是我的代码:

def delete_a_record(filename):

    x=input("Remove First Name:")
    y=input("Remove Last Name:")

    with open(filename, "r") as f:
        lines = f.readlines()
    with open(filename, "w") as f:
        for i in lines:
            t=i.split()
            if t[0]!=x and t[1]!=y:
                f.write(i)
            elif x or y not in t:
                print("Student Not Found")




    f.close()
delete_a_record("mytextfile.txt")

有人可以向我解释为什么吗?

标签: pythontext-filesdelete-row

解决方案


如果您想使用您的功能并在其中搜索(您不想更改您的功能),您可以将您的数据放在一个列表中并在该列表中搜索,如下面的代码:

list=['f_Name = Lorem','l_Name = Ipsum']

if "f_Name = "+x in list or "l_Name = "+y in list:
    print("True")

else:
    print("Student Not Found")

推荐阅读