我是靠谱客的博主 孤独柜子,这篇文章主要介绍Python学习必备:10个奇妙的Python库,看完后我惊呆了前言开发工具环境搭建,现在分享给大家,希望可以做个参考。

前言

10个奇妙的Python库,看完后我惊呆了!

让我们愉快地开始吧~编程学习资料点击免费领取

开发工具

Python版本: 3.6.4

相关模块:

socket模块;

textblob模块;

pygame模块;

pyqrcode模块;

pyshorteners模块;

googletrans模块;

pendulum模块;

fabulous模块;

pywebview模块;

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

speedtest(网速测试)

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

使用百度源安装库。

复制代码
1
2
3
# 安装speedtest pip install speedtest -i https://mirror.baidu.com/pypi/simple/ 复制代码

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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") 复制代码

得到结果如下

复制代码
1
2
3
上传速度:31.3 Mbps 下载速度:86.34 Mbps 复制代码

socket(获取本机ip地址)

使用socket,先获取电脑的主机名后,再获取本机的IP地址。

其中socket是Python内置标准库,无需安装。

复制代码
1
2
3
4
5
6
import socket as f hostn = f.gethostname() Laptop = f.gethostbyname(hostn) print("你的电脑本地IP地址是:" + Laptop) 复制代码

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

复制代码
1
2
你的电脑本地IP地址是:192.168.2.101 复制代码

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

复制代码
1
2
3
# 浏览器访问, 返回公网IP地址 https://jsonip.com 复制代码

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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地址。

复制代码
1
2
3
# 这里随便写了一个~ 你的电脑公网IP地址是:120.236.128.201 复制代码

textblob(文本处理)

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

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

下面就给英文做一个拼写检查。

复制代码
1
2
3
4
5
6
from textblob import TextBlob a = TextBlob("I dream about workin with goof company") a = a.correct() print(a) 复制代码

结果如下

复制代码
1
2
I dream about working with good company 复制代码

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

pygame(制作游戏)

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

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

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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() 复制代码

f0d8d2a074cba02d37444d04d227fc3d.png

pyqrcode(生成二维码)

二维码简称QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种。由日本的Denso Wave公司于1994年发明。

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

pyqrcode模块则是一个QR码生成器,使用简单,用纯python编写。

安装。

复制代码
1
2
3
# 安装pyqrcode pip install pyqrcode -i https://mirror.baidu.com/pypi/simple/ 复制代码

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

复制代码
1
2
3
4
5
6
7
8
9
import pyqrcode import png from pyqrcode import QRCode inpStr = "www.baidu.com" qrc = pyqrcode.create(inpStr) qrc.png("baidu.png", scale=6) 复制代码

pyshorteners(短网址)

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

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

18种短网址

复制代码
1
2
3
# 安装pyshorteners pip install pyshorteners -i https://mirror.baidu.com/pypi/simple/ 复制代码

以clck.ru格式为例

复制代码
1
2
3
4
5
6
import pyshorteners as psn url = "http://www.shuhai.com/" u = psn.Shortener().clckru.short(url) print(u) 复制代码

得到结果如下

复制代码
1
2
3
# 结果 https://clck.ru/WPJgg 复制代码

googletrans(翻译)

Googletrans是一个免费且无限制的Python翻译库,可以用来自动侦测语言种类、翻译之类。

安装3.1.0a0版本,最新版无法使用。

复制代码
1
2
3
# 安装googletrans pip install googletrans==3.1.0a0 -i https://mirror.baidu.com/pypi/simple/ 复制代码

查看所有支持的语言。

复制代码
1
2
3
4
5
import googletrans from googletrans import Translator print(googletrans.LANGUAGES) 复制代码

结果如下,其中中文有简体和繁体两种。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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', } 复制代码
复制代码
1
2
3
4
translater = Translator() out = translater.translate("你好", dest='en', src='auto') print(out) 复制代码

翻译一句「你好」

结果如下

复制代码
1
2
3
# 翻译结果 Translated(src=zh-CN, dest=en, text=Hello, pronunciation=None, extra_data="{'translat...") 复制代码

src:源文本的语言

dest:将源文本转换为的语言。

text:翻译的结果

pendulum(时间)

Pendulum是一个处理日期和时间的Python库,该库在涉及时区的情况下非常有用。

安装。

复制代码
1
2
3
# 安装pendulum pip install pendulum -i https://mirror.baidu.com/pypi/simple/ 复制代码

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

复制代码
1
2
3
4
5
6
import pendulum past = pendulum.now().subtract(minutes=2) print(past.diff_for_humans()) print(past) 复制代码

结果如下

复制代码
1
2
3
2 minutes ago 2021-07-25T19:10:09.222953+08:00 复制代码

fabulous(添加文本颜色)

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

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

597ef599bcdf308dad60c718960ce14b.png

安装。

复制代码
1
2
3
# 安装fabulous pip install fabulous -i https://mirror.baidu.com/pypi/simple/ 复制代码

下面来看一个示例吧!

复制代码
1
2
3
4
5
6
7
8
9
10
from fabulous.color import bold, magenta, highlight_red print(bold(magenta(     """     hello world     this is some new line     and here is the last line. :)     """ ))) 复制代码

结果如下,输出字体加粗且有颜色

图片

pywebview(GUI浏览器)

pywebview是一个Python库,用于以GUI形式显示HTML、CSS、和JavaScript内容。

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

安装

复制代码
1
2
3
# 安装pywebview pip install pywebview -i https://mirror.baidu.com/pypi/simple/ 复制代码

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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学习必备:10个奇妙的Python库,看完后我惊呆了前言开发工具环境搭建的全部内容,更多相关Python学习必备:10个奇妙内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部