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

大家好,我是小F~

Python有着很多很酷的第三方库,可以使任务变得更容易。

今天就给大家分享10个有趣的Python库,每个都非常实用!

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

下面就给大家介绍一下~

① speedtest(网速测试)

Speedtest模块可以测试电脑的网络带宽大小。

使用百度源安装库。

# 安装speedtestpip install speedtest -i https://mirror.baidu.com/pypi/simple/

使用时,需要取消证书验证。

import speedtest# 全局取消证书验证import sslssl._create_default_https_context = ssl._create_unverified_contexttest = 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 fhostn = f.gethostname()Laptop = f.gethostbyname(hostn)print('你的电脑本地IP地址是:' + Laptop)

得到结果如下,此IP为局域网内IP

你的电脑本地IP地址是:192.168.2.101

如若想获取电脑的公网IP地址,可以借助一些第三方网站,比如下面这个。

# 浏览器访问, 返回公网IP地址https://jsonip.com

代码如下,同样取消证书验证。

import jsonfrom urllib.request import urlopen# 全局取消证书验证import sslssl._create_default_https_context = ssl._create_unverified_contextwith urlopen(r'https://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 TextBloba = TextBlob('I dream about workin with goof company')a = a.correct()print(a)

结果如下。

I dream about working with good company

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

④ pygame(制作游戏)

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

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

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

from pygame import mixerimport pygameimport syspygame.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编写。

安装。

# 安装pyqrcodepip install pyqrcode -i https://mirror.baidu.com/pypi/simple/

下面就将「百度一下」生成一个二维码。

import pyqrcodeimport pngfrom pyqrcode import QRCodeinpStr = 'www.baidu.com'qrc = pyqrcode.create(inpStr)qrc.png('baidu.png', scale=6)

得到二维码如下。

微信扫描出来是文本内容,为百度网址,应该是有所操作。

用手机的浏览器扫描,则可以正常跳转网页。

使用文档:

https://pythonhosted.org/PyQRCode/

⑥ pyshorteners(短网址)

pyshorteners是一个简单的URL缩短Python库。

提供了18种短链根域名供使用。

安装。

# 安装pyshortenerspip install pyshorteners -i https://mirror.baidu.com/pypi/simple/

以clck.ru格式为例。

import pyshorteners as psnurl = '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版本,最新版无法使用。

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

查看所有支持的语言。

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

安装。

# 安装pendulumpip install pendulum -i https://mirror.baidu.com/pypi/simple/

来看一下2分钟前的时间。

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

结果如下。

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

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

使用文档地址:

https://pendulum.eustace.io/

⑨ fabulous(添加文本颜色)

如果你是在命令行上运行Python程序,那么输出都是相同颜色,不方便观察。

使用Fabulous,则可以添加图像、彩色文本来凸显输出。

安装。

# 安装fabulouspip install fabulous -i https://mirror.baidu.com/pypi/simple/

下面来看一个示例吧!

from fabulous.color import bold, magenta, highlight_redprint(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内容。

这意味着使用这个库,你可以在桌面应用程序中显示网页。

安装。

# 安装pywebviewpip install pywebview -i https://mirror.baidu.com/pypi/simple/

启动一个给定网站的窗口,运行下面的代码。

import webviewwindow = webview.create_window(    title='百度一下,全是广告',    url='http://www.baidu.com',    width=850,    height=600,    resizable=False,    # 固定窗口大小    text_select=False,   # 禁止选择文字内容    confirm_close=True   # 关闭时提示)webview.start()

结果如下。

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

总的来说,这些小众的Python库,还是挺有用的。

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

(0)

相关推荐