大家好,我是小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)对网站发起请求,解析返回的结果。
最后成功得到公网IP地址。
#?这里随便写了一个~ 你的电脑公网IP地址是:120.236.128.201③?textblob(文本处理)
TextBlob是一个用于处理文本数据的Python库,仅为英文分析。
中文则可以使用SnowNLP,能够方便的处理中文文本内容,是受到了TextBlob的启发而写的。
下面就给英文做一个拼写检查。
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库。
不仅给开发人员提供了制作游戏的图形、声音库,还可以使用内置的模块来实现复杂的游戏逻辑。
下面我们使用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?=?"·" 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://·/" 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://·', ????width=850, ????height=600, ????resizable=False,????#?固定窗口大小 ????text_select=False,???#?禁止选择文字内容 ????confirm_close=True???#?关闭时提示 ) webview.start()结果如下。
好了,本期的分享就到此结束了。
总的来说,这些小众的Python库,还是挺有用的。
有兴趣的小伙伴可以访问相关文档,自行去实践学习。
? 文末赠书??
本次小F联合【北京大学出版社】给大家带来5本神经网络相关的书籍。
《Python神经网络入门与实战》从神经网络的基础知识讲起,逐步深入到Python进阶实战,对各种实用的第三方库进行详细讲解与实战运用。点击下图可看详情/购买????
赠书规则:给本文点赞后("在看"不作要求),扫描下方二维码,添加小F的微信。把点赞截图发给我,我会发送抽奖码给大家,时间截止至07月26号 21:00。
感谢大家对小F的支持!
推荐阅读
···? END? ···
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #python有趣的第三方库