应用开发

这10个奇妙的Python库,你必须要试试!

时间:2010-12-5 17:23:32  作者:IT科技   来源:IT科技  查看:  评论:0
内容摘要:Python有着很多很酷的第三方库,可以使任务变得更容易。今天就给大家分享10个有趣的Python库,每个都非常实用!分别是speedtest、socket、textblob、pygame、pyqrc

 

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  sslssl._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  sslssl._create_default_https_context = ssl._create_unverified_context  with urlopen(rhttps://jsonip.com) as fp:      content = fp.read().decode()  ip = json.loads(content)[ip]  print("你的电脑公网IP地址是:" + ip) 

对网站发起请求,解析返回的结果。

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

# 这里随便写了一个~  你的电脑公网IP地址是:120.236.128.201 

③ textblob(文本处理)

TextBlob是一个用于处理文本数据的Python库,仅为英文分析。

中文则可以使用SnowNLP,能够方便的处理中文文本内容,是受到了TextBlob的启发而写的。

下面就给英文做一个拼写检查。云服务器 

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

结果如下。

I dream about working with good company 

可以看到,句子中的单词被更正了。

④ pygame(制作游戏)

pygame,一个制作游戏的Python库。

不仅给开发人员提供了制作游戏的图形、声音库,还可以使用内置的模块来实现复杂的游戏逻辑。

下面我们使用pygame来制作一个小型的音乐播放器。 

from pygame import mixer  import pygame  import sys  pygame.display.set_mode([300, 300])  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年发明。

现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、高防服务器网络地址访问等等。

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库,该库在涉及时区的情况下非常有用。

安装。 

# 安装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库,还是挺有用的。

有兴趣的小伙伴可以访问相关文档,自行去实践学习。 

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap