欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python編寫一個(gè)ISBN查詢工具

 更新時(shí)間:2023年05月06日 10:20:58   作者:winfredzhang  
這篇文章主要為大家詳細(xì)介紹了如何利用Python編寫一個(gè)簡單的ISBN查詢工具,可以用于圖書管理、圖書銷售、圖書收集和閱讀等場景,需要的可以參考一下

1.引言

效果圖:

ISBN查詢工具通常用于圖書管理、圖書銷售、圖書收集和閱讀等場景。以下是一些具體的應(yīng)用場景:

圖書管理系統(tǒng):ISBN查詢工具可以幫助圖書管理員快速準(zhǔn)確地查詢圖書信息,包括書名、作者、出版社、出版日期、價(jià)格等,從而方便圖書分類、歸檔和借閱。

圖書銷售:ISBN查詢工具可以幫助書店、圖書網(wǎng)站等銷售渠道快速準(zhǔn)確地查詢圖書信息,方便顧客瀏覽和購買圖書。

圖書收集:ISBN查詢工具可以幫助書友快速找到自己需要的圖書,并記錄下來,方便后續(xù)購買或借閱。

閱讀:ISBN查詢工具可以幫助讀者快速查詢圖書信息,包括書名、作者、出版社、出版日期、價(jià)格等,從而幫助讀者更好地了解書籍內(nèi)容,選擇適合自己的讀物。

2.實(shí)例分析

import wx
import requests
 
class BookInfoFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='圖書信息查詢', size=(400, 300))
        panel = wx.Panel(self)
 
        # 創(chuàng)建文本框和標(biāo)簽
        self.isbn_label = wx.StaticText(panel, label='輸入書號:')
        self.isbn_text = wx.TextCtrl(panel, style=wx.TE_PROCESS_ENTER)
        self.title_label = wx.StaticText(panel, label='書名:')
        self.title_text = wx.TextCtrl(panel, style=wx.TE_READONLY)
        self.title_text.SetBackgroundColour(wx.WHITE)
        self.title_text.SetForegroundColour(wx.BLACK)
 
        # 創(chuàng)建查詢按鈕
        self.query_button = wx.Button(panel, label='查詢')
 
        # 設(shè)置文本框和按鈕的布局
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox1.Add(self.isbn_label, flag=wx.RIGHT, border=5)
        hbox1.Add(self.isbn_text, proportion=1)
 
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2.Add(self.title_label, flag=wx.RIGHT, border=5)
        hbox2.Add(self.title_text, proportion=1)
 
        hbox3 = wx.BoxSizer(wx.HORIZONTAL)
        hbox3.Add(self.query_button, flag=wx.ALIGN_CENTER)
 
        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add((20, 20), proportion=1)
        vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
        vbox.Add(hbox2, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
        vbox.Add((20, 20), proportion=1)
        vbox.Add(hbox3, flag=wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM, border=10)
        vbox.Add((20, 20), proportion=1)
 
        panel.SetSizer(vbox)
 
        # 綁定事件處理函數(shù)
        self.isbn_text.Bind(wx.EVT_TEXT_ENTER, self.on_isbn_enter)
        self.query_button.Bind(wx.EVT_BUTTON, self.on_query)
 
    def on_isbn_enter(self, event):
        self.on_query(event)
# def on_isbn_enter(self, event):
#     self.on_query(event)
 
    def on_query(self, event=None):
        isbn = self.isbn_text.GetValue()
        if not isbn:
            return
        url = 'https://openlibrary.org/api/books?bibkeys=ISBN:{}&format=json&jscmd=data'.format(isbn)
        # url = f'https://api.douban.com/v2/book/isbn/{isbn}'
        response = requests.get(url)
        if response.status_code == 200:
            book_data = response.json()
            if book_data:
                # book_info = book_data['ISBN:{}'.format(isbn)]
                book_info = book_data['ISBN:{}'.format(isbn)]
                self.title_text.SetValue(book_info['title'])
                return
        self.title_text.SetValue('')
    
    # def on_query(self, event=None):
    #         isbn = self.isbn_text.GetValue()
    #     if not isbn:
    #         return
    #     url = f'https://api.douban.com/v2/book/isbn/{isbn}'
    #     response = requests.get(url)
    #     if response.status_code == 200:
    #         book_data = response.json()
    #         if book_data:
    #             book_info = book_data['ISBN:{}'.format(isbn)]
    #             self.title_text.SetValue(book_info['title'])
    #             return
    #     self.title_text.SetValue('')
   
if __name__ == '__main__':
    app = wx.App()
    frame = BookInfoFrame()
    frame.Show(True)
    app.MainLoop()

3.總結(jié)

這是一個(gè)使用 wxPython 和 Open Library API 查詢 ISBN 書號對應(yīng)書名的小程序。程序界面包含一個(gè)輸入框和一個(gè)查詢按鈕,用戶可以在輸入框內(nèi)輸入 ISBN 書號,點(diǎn)擊查詢按鈕后會自動查詢對應(yīng)書名并顯示在文本框內(nèi)。該程序的主要實(shí)現(xiàn)代碼在 BookInfoFrame 類的構(gòu)造函數(shù)中,其中綁定了輸入框回車和查詢按鈕的事件處理函數(shù),通過調(diào)用 Open Library API 查詢對應(yīng) ISBN 書號的書名并顯示在文本框中。

到此這篇關(guān)于基于Python編寫一個(gè)ISBN查詢工具的文章就介紹到這了,更多相關(guān)Python ISBN查詢工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • numpy.sum()的使用詳解

    numpy.sum()的使用詳解

    這篇文章主要介紹了numpy.sum()的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python各層級目錄下import方法代碼實(shí)例

    python各層級目錄下import方法代碼實(shí)例

    這篇文章主要介紹了python各層級目錄下import方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python全面解析json數(shù)據(jù)并保存為csv文件

    Python全面解析json數(shù)據(jù)并保存為csv文件

    這篇文章主要介紹了Python全面解析json數(shù)據(jù)并保存為csv文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python響應(yīng)對象text屬性亂碼解決方案

    Python響應(yīng)對象text屬性亂碼解決方案

    這篇文章主要介紹了Python響應(yīng)對象text屬性亂碼解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法

    Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法

    這篇文章主要給大家介紹了關(guān)于Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Python實(shí)現(xiàn)二叉排序樹與平衡二叉樹的示例代碼

    Python實(shí)現(xiàn)二叉排序樹與平衡二叉樹的示例代碼

    樹表查詢即借助具有特殊性質(zhì)的樹數(shù)據(jù)結(jié)構(gòu)進(jìn)行關(guān)鍵字查找,本文所涉及到的特殊結(jié)構(gòu)性質(zhì)的樹包括:二叉排序樹、平衡二叉樹。文中詳細(xì)介紹了二者的實(shí)現(xiàn)代碼,需要的可以參考一下
    2022-04-04
  • 使用Django搭建一個(gè)基金模擬交易系統(tǒng)教程

    使用Django搭建一個(gè)基金模擬交易系統(tǒng)教程

    今天小編就為大家分享一篇使用Django搭建一個(gè)基金模擬交易系統(tǒng)教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python itertools庫高效迭代藝術(shù)實(shí)例探索

    Python itertools庫高效迭代藝術(shù)實(shí)例探索

    Python 中的?itertools?庫為迭代器操作提供了豐富的工具集,使得處理迭代對象變得更加高效和靈活,本篇文章將深入討itertools庫的常用方法,通過詳實(shí)的示例代碼演示其在解決各種問題中的應(yīng)用
    2024-01-01
  • keras 多gpu并行運(yùn)行案例

    keras 多gpu并行運(yùn)行案例

    這篇文章主要介紹了keras 多gpu并行運(yùn)行案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 深入理解python函數(shù)遞歸和生成器

    深入理解python函數(shù)遞歸和生成器

    下面小編就為大家?guī)硪黄钊肜斫鈖ython函數(shù)遞歸和生成器。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06

最新評論