前言
Python以其简单的代码赢得了许多开发人员的青睐。为了促进开发人员用Python开发新的模块,从而形成良性循环,Python可以用短代码实现许多有趣的操作。让我们看看在不超过10行的代码中可以实现哪些有趣的特性。
最主要还是要练习,不要告诉我你不会手动敲一遍代码!!!!!
一、生成二维码
二维码作为一种信息传输工具,在当今社会发挥着重要的作用。生成二维码非常简单。在Python中,我们可以通过myqr
模块生成QR
码。要生成二维码,我们需要两行代码。我们安装myqr
模块,从国内下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ myqr
安装后,我们可以开始编写代码:
from MyQR import myqr # 注意大小写
myqr.run(words='http://www.baidu.com') # 如果为网站则会自动跳转,文本直接显示,不支持中文
我们执行代码后会在项目下生成一张二维码。当然我们还可以丰富二维码:
from MyQR import myqr
myqr.run(
words='http://www.baidu.com', # 包含信息
picture='lbxx.jpg', # 背景图片
colorized=True, # 是否有颜色,如果为False则为黑白
save_name='code.png' # 输出文件名
效果图如下:
可以试着扫描一下二维码
另外MyQR
还支持动态图片。
二、生成词云
Word cloud
是一种很好的数据可视化方法。我们可以通过word cloud
直接看到一些单词的频率。使用python,我们通过word cloud
模块生成wordcloud
。我们安装wordcloud
模块:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ wordcloud
然后我们就可以写代码了:
from wordcloud import WordCloud
wc = WordCloud() # 创建词云对象
wc.generate('Do not go gentle into that good night') # 生成词云
wc.to_file('wc.png') # 保存词云
执行代码后,生成以下单词cloud
:
这是最简单的单词cloud
。关于word cloud
的详细操作,请参考wordclou
d生成Kakashi
忍者wordcloud
。
三、批量抠图
处理图片的实现需要百度PADLAPADLE
的深度学习工具PADLDLADLE
的帮助。我们需要安装两个模块来快速实现批量消光,第一个模块是PaddlePaddle
:
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
还有一个是paddlehub
模型库:
pip install -i https://mirror.baidu.com/pypi/simple paddlehub
更详细的安装事项可以参见paddlehub官网:https://www.paddlepaddle.org.cn/
接下来,我们需要5行代码来实现批量处理图片:。
import os, paddlehub as hub
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg') # 加载模型
path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/' # 文件目录
files = [path + i for i in os.listdir(path)] # 获取文件列表
results = humanseg.segmentation(data={'image':files}) # 抠图
图片处理效果如下:
左侧为原始图像,右侧为抠图后的黄色背景图像。
四、文字情绪识别
在paddlepaddle
面前,自然语言处理也变得非常简单我们还需要安装PaddlePaddle
和Paddlehub
来实现文本情感识别。具体安装见三节。这是我们的代码部分:
import paddlehub as hub
senta = hub.Module(name='senta_lstm') # 加载模型
sentence = [ # 准备要识别的语句
'你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',
]
results = senta.sentiment_classify(data={"text":sentence}) # 情绪识别
# 输出识别结果
for result in results:
print(result)
识别的结果是一个字典列表:
{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}
{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}
{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}
{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}
{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}
{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}
情感关键域
包含情感信息
。详细分析请参考Python自然语言处理只需要5行代码。
五、识别是否带了口罩
这也是使用PaddlePaddle
的产品。在我们根据上面的步骤安装PaddlePaddle
和Paddlehub
之后,我们将开始编写代码:
import paddlehub as hub
# 加载模型
module = hub.Module(name='pyramidbox_lite_mobile_mask')
# 图片列表
image_list = ['face.jpg']
# 获取图片字典
input_dict = {'image':image_list}
# 检测是否带了口罩
module.face_detection(data=input_dict)
执行上述步骤后,将在项目下生成检测结果文件夹,并将识别结果放入其中。识别效果如下:
六、简易信息轰炸
Python有很多方法来控制输入设备。我们可以使用Win32
或pynput
模块。通过简单的循环操作,可以达到信息轰炸的效果。在这里,例如pynput
,我们需要先安装模块:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput
在编写代码之前,我们需要手动获取输入框的坐标:
from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)
可能会有更加有效的方法,我不会。
在得到坐标后,我们可以记录下来。消息窗口不移动。我们执行以下代码窗口以切换到消息页:
import time
from pynput import mouse, keyboard
time.sleep(5)
m_mouse = mouse.Controller() # 创建一个鼠标
m_keyboard = keyboard.Controller() # 创建一个键盘
m_mouse.position = (850, 670) # 将鼠标移动到指定位置
m_mouse.click(mouse.Button.left) # 点击鼠标左键
while(True):
m_keyboard.type('你好') # 打字
m_keyboard.press(keyboard.Key.enter) # 按下enter
m_keyboard.release(keyboard.Key.enter) # 松开enter
time.sleep(0.5) # 等待 0.5秒
我承认,这是10多行代码,并不是太高端。使用前,QQ向测试QQ发送信息的效果如下:
七、识别图片中的文字
我们可以使用Tesseract
来识别图片中的文本。用Python实现非常简单。在早期阶段,下载文件和配置环境变量有点麻烦。本文仅显示代码:
import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)
其中文本是可识别的文本。如果你对准确性不满意,可以使用百度的通用文本界面。
八、绘制函数图像
图标是数据可视化的重要工具。Matplotlib
在Python中的数据可视化中起着重要的作用。让我们看看如何使用Matplotlib
绘制函数图像
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,11) # x轴数据
y = x * x + 5 # 函数关系
plt.title("y=x*x+5") # 图像标题
plt.xlabel("x") # x轴标签
plt.ylabel("y") # y轴标签
plt.plot(x,y) # 生成图像
plt.show() # 显示图像
生成图像如下:
九、人工智能
以下是唯一的简易人工智能,一般不向外透露。这种简易人工智能可以回答许多问题。人工智能目前正处于发展阶段,对人类语言的理解存在许多差异。不用多说废话,让我们看看我们的人工智能FDJ
:
while(True):
question = input()
answer = question.replace('吗', '呢')
answer = answer.replace('?', '!')
print(answer)
让我们来看一个简单的测试:
你好吗?
我好呢!
你吃饭了吗?
我吃饭了呢!
你要睡了吗?
我要睡了呢!
后言
今日分享到这里就结束了。代码要多练,可以试着对着代码进行敲一遍。