来自一个文件的条目不在第二个文件中

时间:2015-03-01 06:39:21

标签: python if-statement

我正在写一个图书馆管理程序。我有一个代码,询问输入的用户名是否在用户列表中,而不是在锁定人员列表中(没有获得借阅书籍的权限),但它不起作用!这是代码:

borrower=input("User ID: ")
        userlist = open("userlist.txt", "r")
        locked = open("locked.txt", "r")
        if borrower in userlist and borrower not in locked:
            #dosomething
        elif borrrower in userlist and borrower in locked:
            print("User",borrower,"isn't allowed to borrow books!")
        else:
            print("[ERROR] User",borrower,"doesn't exist!")

请告诉我这有什么问题。

1 个答案:

答案 0 :(得分:0)

您需要这些文件中的实际列表。

userlist = open("userlist.txt", "r").readlines()
locked = open("locked.txt", "r").readlines()

根据数据的实际结构,将文件读入字符串也是有益的:

userlist = open("userlist.txt", "r").read()
locked = open("locked.txt", "r").read()

这两者之间的区别:readlines()会返回一个列表,read()会返回一个字符串。 in在这两者之间的行为差​​异:如果它是一个列表,如果它嵌入字符串中,它就不会捡起它;如果它在一个字符串中,它就会把它拿起来。