import isbnlib
import sqlite3
def barcode_reader():
# 假設這是一個從條碼掃描器獲取條碼的函數
# 實際中,你可能需要使用相應的函數或庫來執行條碼掃描
scanned_barcode = input("請掃描條碼: ")
return scanned_barcode
def get_book_info_from_barcode(barcode):
# 假設這是你從條碼獲取書籍資訊的函數
# 使用 isbnlib 或其他相應的庫
book_info = isbnlib.meta(barcode)
return book_info
def insert_book_into_database(book_info):
# 连接到 SQLite 資料庫
conn = sqlite3.connect('book_database.db')
# 创建一个游标对象来执行 SQL 查询
cursor = conn.cursor()
# 檢查資料庫中是否已經存在相同的 ISBN
existing_isbn = cursor.execute('SELECT isbn FROM books WHERE isbn = ?', (book_info.get('ISBN-13', 'N/A'),)).fetchone()
if existing_isbn:
print("書籍已存在於資料庫中。")
else:
# 將書籍資訊插入資料庫,使用占位符 '?' 來處理值為 'N/A' 的情況
cursor.execute('''
INSERT INTO books (isbn, title, author, publisher, publication_year)
VALUES (?, ?, ?, ?, ?)
''', (book_info.get('ISBN-13', 'N/A'), book_info.get('Title', 'N/A'), book_info.get('Author', 'N/A'), book_info.get('Publisher', 'N/A'), book_info.get('Year', 'N/A')))
# 提交更改
conn.commit()
print("書籍資訊成功插入資料庫!")
# 关闭连接
conn.close()
def main():
scanned_barcode = barcode_reader()
book_info = get_book_info_from_barcode(scanned_barcode)
if book_info:
insert_book_into_database(book_info)
print("書籍資訊成功插入資料庫!")
else:
print("找不到相關書籍資訊。")
if __name__ == "__main__":
main()