<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這10個(gè)奇妙的Python庫(kù),你必須要試試!

          共 11086字,需瀏覽 23分鐘

           ·

          2021-07-31 19:20

          作者 | 小F

          來(lái)源 | 法納斯特


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


          今天就給大家分享10個(gè)有趣的Python庫(kù),每個(gè)都非常實(shí)用!


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


          下面就給大家介紹一下~



          ① speedtest(網(wǎng)速測(cè)試)


          Speedtest模塊可以測(cè)試電腦的網(wǎng)絡(luò)帶寬大小。


          使用百度源安裝庫(kù)。


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


          使用時(shí),需要取消證書(shū)驗(yàn)證。


          import speedtest

          # 全局取消證書(shū)驗(yàn)證
          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")


          得到結(jié)果如下。


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


          看起來(lái),小F的網(wǎng)速還挺快的。



          socket(獲取本機(jī)ip地址)


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


          其中socket是Python內(nèi)置標(biāo)準(zhǔn)庫(kù),無(wú)需安裝。


          import socket as f

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


          得到結(jié)果如下,此IP為局域網(wǎng)內(nèi)IP。


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


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


          # 瀏覽器訪問(wèn), 返回公網(wǎng)IP地址
          https://jsonip.com


          代碼如下,同樣取消證書(shū)驗(yàn)證。


          import json
          from urllib.request import urlopen

          # 全局取消證書(shū)驗(yàn)證
          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("你的電腦公網(wǎng)IP地址是:" + ip)


          對(duì)網(wǎng)站發(fā)起請(qǐng)求,解析返回的結(jié)果。


          最后成功得到公網(wǎng)IP地址。


          # 這里隨便寫(xiě)了一個(gè)~
          你的電腦公網(wǎng)IP地址是:120.236.128.201



           textblob(文本處理)


          TextBlob是一個(gè)用于處理文本數(shù)據(jù)的Python庫(kù),僅為英文分析。


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


          下面就給英文做一個(gè)拼寫(xiě)檢查。


          from textblob import TextBlob

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


          結(jié)果如下。


          I dream about working with good company


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



           pygame(制作游戲)


          pygame,一個(gè)制作游戲的Python庫(kù)。


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


          下面我們使用pygame來(lái)制作一個(gè)小型的音樂(lè)播放器。


          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()

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


          運(yùn)行上面的代碼,電腦就會(huì)播放音樂(lè)。



          必須給pygame添加圖形化界面,要不然沒(méi)聲音。



           pyqrcode(生成二維碼)


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


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


          pyqrcode模塊則是一個(gè)QR碼生成器,使用簡(jiǎn)單,用純python編寫(xiě)。


          安裝。


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


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


          import pyqrcode
          import png
          from pyqrcode import QRCode


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


          得到二維碼圖片如下。



          微信掃描出來(lái)是文本內(nèi)容,為百度網(wǎng)址,應(yīng)該是有所操作。


          用手機(jī)的瀏覽器掃描,則可以正常跳轉(zhuǎn)網(wǎng)頁(yè)。


          使用文檔:

          https://pythonhosted.org/PyQRCode/



           pyshorteners(短網(wǎng)址)


          pyshorteners是一個(gè)簡(jiǎn)單的URL縮短Python庫(kù)。


          提供了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)


          得到結(jié)果如下。


          # 結(jié)果
          https://clck.ru/WPJgg


          是可以正常訪問(wèn)的。


          使用文檔:

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



           googletrans(翻譯)


          Googletrans是一個(gè)免費(fèi)且無(wú)限制的Python翻譯庫(kù),可以用來(lái)自動(dòng)偵測(cè)語(yǔ)言種類、翻譯之類。


          安裝3.1.0a0版本,最新版無(wú)法使用。


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


          查看所有支持的語(yǔ)言。


          import googletrans
          from googletrans import Translator

          print(googletrans.LANGUAGES)


          結(jié)果如下,其中中文有簡(jiǎn)體和繁體兩種。


          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)


          結(jié)果如下。


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


          src:源文本的語(yǔ)言

          dest:將源文本轉(zhuǎn)換為的語(yǔ)言。

          text:翻譯的結(jié)果


          使用文檔:

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



           pendulum(時(shí)間)


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


          安裝。


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


          來(lái)看一下2分鐘前的時(shí)間。


          import pendulum

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


          結(jié)果如下。


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


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


          使用文檔地址:

          https://pendulum.eustace.io/



           fabulous(添加文本顏色)


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


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



          安裝。


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


          下面來(lái)看一個(gè)示例吧!


          from fabulous.color import bold, magenta, highlight_red

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

          )))


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



          更多配置,可以訪問(wèn)使用文檔:

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



           pywebview(GUI瀏覽器)


          pywebview是一個(gè)Python庫(kù),用于以GUI形式顯示HTML、CSS、和JavaScript內(nèi)容。


          這意味著使用這個(gè)庫(kù),你可以在桌面應(yīng)用程序中顯示網(wǎng)頁(yè)。


          安裝。


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


          啟動(dòng)一個(gè)給定網(wǎng)站的窗口,運(yùn)行下面的代碼。


          import webview

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


          結(jié)果如下。



          好了,本期的分享就到此結(jié)束了。


          總的來(lái)說(shuō),這些小眾的Python庫(kù),還是挺有用的。


          有興趣的小伙伴可以訪問(wèn)相關(guān)文檔,自行去實(shí)踐學(xué)習(xí)。


          點(diǎn)擊看更多文章??

          瀏覽 55
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码乱伦中文字幕 | 欧美色图日韩精品在线一区 | 青娱乐在线视频自拍好爽好舒服啊 | 国产变态另类 | 国产精品无码无卡无需播放器 |