📜  使用文件处理的书店管理系统(1)

📅  最后修改于: 2023-12-03 15:06:56.809000             🧑  作者: Mango

使用文件处理的书店管理系统介绍

项目描述

这个项目是针对图书店管理的一个简单的程序。它使用文件处理来存储所有书店的相关信息和更改。程序员可以通过命令行添加书籍、删除书籍、查找书籍、修改书籍信息、显示书库存信息等操作。

程序功能

该程序具有以下功能:

  • 添加书籍:允许用户输入书籍的信息并将它保存到文件中。
  • 删除书籍:通过书号或书名来删除文件中的图书记录。
  • 查找书籍:通过书号或书名查找图书记录。
  • 修改书籍信息:通过书号或书名打开书籍记录并允许用户更新图书信息。
  • 显示书库存信息:打印所有图书记录。
技术要点
  • 语言: Python
  • 文件处理: 使用json存储文件。
  • 数据结构: 使用Python dict存储图书记录。
  • 命令行交互: 通过命令行提示用户执行操作。
代码片段
添加书籍
def add_book():
    book = {}
    book['bookid'] = input('Enter book id: ')
    book['title'] = input('Enter title: ')
    book['author'] = input('Enter author: ')
    book['publisher'] = input('Enter publisher: ')
    book['price'] = input('Enter price: ')

    books = load_books()
    books.append(book)
    with open('books.json', 'w') as f:
        json.dump(books, f, indent=2)
        print('Book added.')
删除书籍
def remove_book(search_key, value):
    books = load_books()

    for book in books:
        if book[search_key] == value:
            books.remove(book)

    with open('books.json', 'w') as f:
        json.dump(books, f, indent=2)
        print('Book removed.')
查找书籍
def search_book(search_key, value):
    books = load_books()

    for book in books:
        if book[search_key] == value:
            print(book)
修改书籍信息
def update_book(search_key, value):
    books = load_books()

    for book in books:
        if book[search_key] == value:
            book['title'] = input('Enter title: ')
            book['author'] = input('Enter author: ')
            book['publisher'] = input('Enter publisher: ')
            book['price'] = input('Enter price: ')

    with open('books.json', 'w') as f:
        json.dump(books, f, indent=2)
        print('Book updated.')
显示书库存信息
def print_books():
    books = load_books()
    for book in books:
        print(book)

以上代码仅供参考。更多细节和错误处理细节请参见完整代码实现。