Python有着很多很酷的个奇第三方库,可以使任务变得更容易。库必
今天就给大家分享10个有趣的须试Python库,每个都非常实用!个奇
分别是库必speedtest、socket、须试textblob、个奇pygame、库必pyqrcode、须试pyshorteners、个奇googletrans、库必pendulum、须试fabulous、个奇pywebview。库必
下面就给大家介绍一下~
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是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.201TextBlob是一个用于处理文本数据的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,一个制作游戏的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添加图形化界面,要不然没声音。
二维码简称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是一个简单的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是一个免费且无限制的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是一个处理日期和时间的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/
如果你是在命令行上运行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是一个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库,还是挺有用的。
有兴趣的小伙伴可以访问相关文档,自行去实践学习。