比较两个文件并列出一个列表

时间:2012-05-06 21:29:26

标签: python file list for-loop

我有两个文件,我想彼此比较并形成一个列表。每个文件都有自己的类。书和人。在这些中,我有不同的属性。我想要比较的是:person.personalcode == book.borrowed。从这里我想要一份所有借书的清单。我这样开始:

for person in person_list:
    for book in booklibrary_list:
        if person.personalcode == book.borrowed:
            person.books.append(book, person)

for person in person_list:
    if len(person.books) > 0:
        print(person.personalcode + "," + person.firstname + person.lastname + "have borrowed the following books: ")
        for book in person.books:
            print(book)

for person in person_list:
    person.books = []

但它不起作用,我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:1)

发布答案,因为评论时间过长。

首先:改进你的问题。展示如何构造Person和Book类,以及如何填充它们。描述个人代码是什么以及如何将个人代码与书籍代码相同。一些示例数据和更多代码将使这更容易回答。

第二:阅读other question,您似乎将数据存储在文本文件中,直接加载和查询,修改和保存数据。这会引发你的问题,而你应该考虑下两行之一:

  1. 使用SQL数据库,最简单的可能是SQLite,因为它不需要设置服务器并且有module in the standard library that is very easy to use。将数据存储在那里,从长远来看,您会发现它更容易。
  2. 使用Python对象(例如三个类:Person,Book和BorrowedBook),在程序中管理它们的列表,并使用标准库中的shelve来存储和检索查询之间的这些对象列表。 / LI>

    如果您以前没有使用过SQL,那么搁置的使用会更容易,我希望当我说它可能非常适合书籍相关的应用程序时,你会原谅双关语!