1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        這10個奇妙的Python庫,你必須要試試!

        共 11086字,需瀏覽 23分鐘

         ·

        2021-07-31 19:20

        作者 | 小F

        來源 | 法納斯特


        Python有著很多很酷的第三方庫,可以使任務變得更容易。


        今天就給大家分享10個有趣的Python庫,每個都非常實用!


        分別是speedtest、socket、textblob、pygame、pyqrcode、pyshorteners、googletrans、pendulum、fabulous、pywebview。


        下面就給大家介紹一下~



        ① speedtest(網速測試)


        Speedtest模塊可以測試電腦的網絡帶寬大小。


        使用百度源安裝庫。


        # 安裝speedtest
        pip install speedtest -i https://mirror.baidu.com/pypi/simple/


        使用時,需要取消證書驗證。


        import speedtest

        # 全局取消證書驗證
        import ssl
        ssl._create_default_https_context = ssl._create_unverified_context

        test = speedtest.Speedtest()
        down = test.download()
        upload = test.upload()

        print(f"上傳速度:{round(upload/(1024 * 1024),2)} Mbps")
        print(f"下載速度:{round(down/(1024 * 1024),2)} Mbps")


        得到結果如下。


        上傳速度:31.3 Mbps
        下載速度:86.34 Mbps


        看起來,小F的網速還挺快的。



        socket(獲取本機ip地址)


        使用socket,先獲取電腦的主機名后,再獲取本機的IP地址。


        其中socket是Python內置標準庫,無需安裝。


        import socket as f

        hostn = f.gethostname()
        Laptop = f.gethostbyname(hostn)
        print("你的電腦本地IP地址是:" + Laptop)


        得到結果如下,此IP為局域網內IP


        你的電腦本地IP地址是:192.168.2.101


        如若想獲取電腦的公網IP地址,可以借助一些第三方網站,比如下面這個。


        # 瀏覽器訪問, 返回公網IP地址
        https://jsonip.com


        代碼如下,同樣取消證書驗證。


        import json
        from urllib.request import urlopen

        # 全局取消證書驗證
        import ssl
        ssl._create_default_https_context = ssl._create_unverified_context


        with urlopen(r'https://jsonip.com'as fp:
            content = fp.read().decode()

        ip = json.loads(content)['ip']
        print("你的電腦公網IP地址是:" + ip)


        對網站發(fā)起請求,解析返回的結果。


        最后成功得到公網IP地址。


        # 這里隨便寫了一個~
        你的電腦公網IP地址是:120.236.128.201



         textblob(文本處理)


        TextBlob是一個用于處理文本數據的Python庫,僅為英文分析。


        中文則可以使用SnowNLP,能夠方便的處理中文文本內容,是受到了TextBlob的啟發(fā)而寫的。


        下面就給英文做一個拼寫檢查。


        from textblob import TextBlob

        a = TextBlob("I dream about workin with goof company")
        a = a.correct()
        print(a)


        結果如下。


        I dream about working with good company


        可以看到,句子中的單詞被更正了。



         pygame(制作游戲)


        pygame,一個制作游戲的Python庫。


        不僅給開發(fā)人員提供了制作游戲的圖形、聲音庫,還可以使用內置的模塊來實現(xiàn)復雜的游戲邏輯。


        下面我們使用pygame來制作一個小型的音樂播放器。


        from pygame import mixer
        import pygame
        import sys

        pygame.display.set_mode([300300])

        music = "my_dream.mp3"
        mixer.init()
        mixer.music.load(music)
        mixer.music.play()

        # 點擊×可以關閉界面的代碼
        while 1:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()


        運行上面的代碼,電腦就會播放音樂。



        必須給pygame添加圖形化界面,要不然沒聲音。



         pyqrcode(生成二維碼)


        二維碼簡稱QR Code(Quick Response Code),學名為快速響應矩陣碼,是二維條碼的一種。由日本的Denso Wave公司于1994年發(fā)明。


        現(xiàn)隨著智能手機的普及,已廣泛應用于平常生活中,例如商品信息查詢、社交好友互動、網絡地址訪問等等。


        pyqrcode模塊則是一個QR碼生成器,使用簡單,用純python編寫。


        安裝。


        # 安裝pyqrcode
        pip install pyqrcode -i https://mirror.baidu.com/pypi/simple/


        下面就將「百度一下」生成一個二維碼。


        import pyqrcode
        import png
        from pyqrcode import QRCode


        inpStr = "www.baidu.com"
        qrc = pyqrcode.create(inpStr)
        qrc.png("baidu.png", scale=6)


        得到二維碼圖片如下。



        微信掃描出來是文本內容,為百度網址,應該是有所操作。


        用手機的瀏覽器掃描,則可以正常跳轉網頁。


        使用文檔:

        https://pythonhosted.org/PyQRCode/



         pyshorteners(短網址)


        pyshorteners是一個簡單的URL縮短Python庫。


        提供了18種短鏈根域名供使用。



        安裝。


        # 安裝pyshorteners
        pip install pyshorteners -i https://mirror.baidu.com/pypi/simple/


        以clck.ru格式為例。


        import pyshorteners as psn

        url = "http://www.shuhai.com/"
        u = psn.Shortener().clckru.short(url)
        print(u)


        得到結果如下。


        # 結果
        https://clck.ru/WPJgg


        是可以正常訪問的。


        使用文檔:

        https://pyshorteners.readthedocs.io/en/latest/



         googletrans(翻譯)


        Googletrans是一個免費且無限制的Python翻譯庫,可以用來自動偵測語言種類、翻譯之類。


        安裝3.1.0a0版本,最新版無法使用。


        # 安裝googletrans
        pip install googletrans==3.1.0a0 -i https://mirror.baidu.com/pypi/simple/


        查看所有支持的語言。


        import googletrans
        from googletrans import Translator

        print(googletrans.LANGUAGES)


        結果如下,其中中文有簡體和繁體兩種。


        LANGUAGES = {
            'af''afrikaans',
            'sq''albanian',
            'am''amharic',
            'ar''arabic',
            'hy''armenian',
            'az''azerbaijani',
            'eu''basque',
            'be''belarusian',
            'bn''bengali',
            'bs''bosnian',
            'bg''bulgarian',
            'ca''catalan',
            'ceb''cebuano',
            'ny''chichewa',
            'zh-cn''chinese (simplified)',
            'zh-tw''chinese (traditional)',
            'co''corsican',
            'hr''croatian',
            'cs''czech',
            'da''danish',
            'nl''dutch',
            'en''english',
            'eo''esperanto',
            'et''estonian',
            'tl''filipino',
            'fi''finnish',
            'fr''french',
            'fy''frisian',
            'gl''galician',
            'ka''georgian',
            'de''german',
            'el''greek',
            'gu''gujarati',
            'ht''haitian creole',
            'ha''hausa',
            'haw''hawaiian',
            'iw''hebrew',
            'he''hebrew',
            'hi''hindi',
            'hmn''hmong',
            'hu''hungarian',
            'is''icelandic',
            'ig''igbo',
            'id''indonesian',
            'ga''irish',
            'it''italian',
            'ja''japanese',
            'jw''javanese',
            'kn''kannada',
            'kk''kazakh',
            'km''khmer',
            'ko''korean',
            'ku''kurdish (kurmanji)',
            'ky''kyrgyz',
            'lo''lao',
            'la''latin',
            'lv''latvian',
            'lt''lithuanian',
            'lb''luxembourgish',
            'mk''macedonian',
            'mg''malagasy',
            'ms''malay',
            'ml''malayalam',
            'mt''maltese',
            'mi''maori',
            'mr''marathi',
            'mn''mongolian',
            'my''myanmar (burmese)',
            'ne''nepali',
            'no''norwegian',
            'or''odia',
            'ps''pashto',
            'fa''persian',
            'pl''polish',
            'pt''portuguese',
            'pa''punjabi',
            'ro''romanian',
            'ru''russian',
            'sm''samoan',
            'gd''scots gaelic',
            'sr''serbian',
            'st''sesotho',
            'sn''shona',
            'sd''sindhi',
            'si''sinhala',
            'sk''slovak',
            'sl''slovenian',
            'so''somali',
            'es''spanish',
            'su''sundanese',
            'sw''swahili',
            'sv''swedish',
            'tg''tajik',
            'ta''tamil',
            'te''telugu',
            'th''thai',
            'tr''turkish',
            'uk''ukrainian',
            'ur''urdu',
            'ug''uyghur',
            'uz''uzbek',
            'vi''vietnamese',
            'cy''welsh',
            'xh''xhosa',
            'yi''yiddish',
            'yo''yoruba',
            'zu''zulu',
        }


        翻譯一句「你好」試一下。


        translater = Translator()
        out = translater.translate("你好", dest='en', src='auto')
        print(out)


        結果如下。


        # 翻譯結果
        Translated(src=zh-CN, dest=en, text=Hello, pronunciation=None, extra_data="{'translat...")


        src:源文本的語言

        dest:將源文本轉換為的語言。

        text:翻譯的結果


        使用文檔:

        https://py-googletrans.readthedocs.io/en/latest/



         pendulum(時間)


        Pendulum是一個處理日期和時間的Python庫,該庫在涉及時區(qū)的情況下非常有用。


        安裝。


        # 安裝pendulum
        pip install pendulum -i https://mirror.baidu.com/pypi/simple/


        來看一下2分鐘前的時間。


        import pendulum

        past = pendulum.now().subtract(minutes=2)
        print(past.diff_for_humans())
        print(past)


        結果如下。


        2 minutes ago
        2021-07-25T19:10:09.222953+08:00


        還有很多方便使用的地方,可以查看使用文檔。


        使用文檔地址:

        https://pendulum.eustace.io/



         fabulous(添加文本顏色)


        如果你是在命令行上運行Python程序,那么輸出都是相同顏色,不方便觀察。


        使用Fabulous,則可以添加圖像、彩色文本來凸顯輸出。



        安裝。


        # 安裝fabulous
        pip install fabulous -i https://mirror.baidu.com/pypi/simple/


        下面來看一個示例吧!


        from fabulous.color import bold, magenta, highlight_red

        print(bold(magenta(
            """
            hello world
            this is some new line
            and here is the last line. :)
            """

        )))


        結果如下,輸出字體加粗且有顏色。



        更多配置,可以訪問使用文檔:

        https://jart.github.io/fabulous/



         pywebview(GUI瀏覽器)


        pywebview是一個Python庫,用于以GUI形式顯示HTML、CSS、和JavaScript內容。


        這意味著使用這個庫,你可以在桌面應用程序中顯示網頁。


        安裝。


        # 安裝pywebview
        pip install pywebview -i https://mirror.baidu.com/pypi/simple/


        啟動一個給定網站的窗口,運行下面的代碼。


        import webview

        window = webview.create_window(
            title='百度一下,全是廣告',
            url='http://www.baidu.com',
            width=850,
            height=600,
            resizable=False,    # 固定窗口大小
            text_select=False,   # 禁止選擇文字內容
            confirm_close=True   # 關閉時提示
        )
        webview.start()


        結果如下。



        好了,本期的分享就到此結束了。


        總的來說,這些小眾的Python庫,還是挺有用的。


        有興趣的小伙伴可以訪問相關文檔,自行去實踐學習。


        點擊看更多文章??

        瀏覽 55
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            九九综合九九 | 国产伦精品一区二区三区高清版 | 操老逼乱伦视频 | 美女黄色免费 | 操B小视频 | va色婷婷亚洲在线 | 啊轻点灬大巴太粗太长了军人 | 日本护士大乳 | 国产一级日逼无码 | 暴躁妹妹_哔哩哔哩_bilibili |