最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python編寫一個ISBN查詢工具

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

1.引言

效果圖:

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

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

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

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

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

2.實例分析

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)建文本框和標簽
        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='查詢')
 
        # 設置文本框和按鈕的布局
        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)
 
        # 綁定事件處理函數
        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.總結

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

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

相關文章

  • 執(zhí)行Python程序時模塊報錯問題

    執(zhí)行Python程序時模塊報錯問題

    這篇文章主要介紹了執(zhí)行Python程序時模塊報錯問題及解決方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 通過python連接Linux命令行代碼實例

    通過python連接Linux命令行代碼實例

    這篇文章主要介紹了通過python連接Linux命令行代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python八大常見排序算法定義、實現及時間消耗效率分析

    Python八大常見排序算法定義、實現及時間消耗效率分析

    這篇文章主要介紹了Python八大常見排序算法定義、實現及時間消耗效率分析,結合具體實例形式對比分析了冒泡排序、直接插入排序、選擇排序、歸并排序、希爾排序、桶排序、堆排序等排序算法的使用與執(zhí)行效率,需要的朋友可以參考下
    2018-04-04
  • 分享一個簡單的python讀寫文件腳本

    分享一個簡單的python讀寫文件腳本

    這篇文章主要介紹了分享一個簡單的python讀寫文件腳本,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Python3的TFTP文件傳輸

    詳解Python3的TFTP文件傳輸

    本篇內容給大家詳細講述了Python3的TFTP文件傳輸的相關知識點,有需要的朋友可以參考下。
    2018-06-06
  • Python直接使用plot()函數畫圖的方法實例

    Python直接使用plot()函數畫圖的方法實例

    Python非常簡單而又非常強大,它的功能之一就是畫出漂亮的圖表,實現數據的可視化,下面這篇文章主要給大家介紹了關于Python直接使用plot()函數畫圖的相關資料,需要的朋友可以參考下
    2022-05-05
  • pyspark操作MongoDB的方法步驟

    pyspark操作MongoDB的方法步驟

    這篇文章主要介紹了pyspark操作MongoDB的方法步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 使用Python Tkinter實現剪刀石頭布小游戲功能

    使用Python Tkinter實現剪刀石頭布小游戲功能

    這篇文章主要介紹了使用Python Tkinter實現剪刀石頭布小游戲功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 小眾實用的Python 爬蟲庫RoboBrowser

    小眾實用的Python 爬蟲庫RoboBrowser

    這篇文章主要介紹了Python 爬蟲庫RoboBrowser的使用簡介,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • python tkinter GUI繪制,以及點擊更新顯示圖片代碼

    python tkinter GUI繪制,以及點擊更新顯示圖片代碼

    這篇文章主要介紹了python tkinter GUI繪制,以及點擊更新顯示圖片代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論

延吉市| 深水埗区| 依兰县| 嘉善县| 囊谦县| 淮阳县| 高阳县| 惠州市| 米林县| 长岭县| 汝阳县| 乌什县| 泰顺县| 新邵县| 大荔县| 汤阴县| 台中市| 永定县| 商水县| 易门县| 酒泉市| 齐齐哈尔市| 常山县| 长垣县| 夏邑县| 会宁县| 望城县| 湘阴县| 壤塘县| 奉节县| 高陵县| 香港 | 霍州市| 西林县| 邳州市| 蓝山县| 永州市| 会同县| 杨浦区| 藁城市| 伊宁市|