在Python中10行代码可以执行哪些高端操作?

2020-04-26 22:19:21 浏览数 (1)

前言

Python以其简单的代码赢得了许多开发人员的青睐。为了促进开发人员用Python开发新的模块,从而形成良性循环,Python可以用短代码实现许多有趣的操作。让我们看看在不超过10行的代码中可以实现哪些有趣的特性。

最主要还是要练习,不要告诉我你不会手动敲一遍代码!!!!!

一、生成二维码 二维码作为一种信息传输工具,在当今社会发挥着重要的作用。生成二维码非常简单。在Python中,我们可以通过myqr模块生成QR码。要生成二维码,我们需要两行代码。我们安装myqr模块,从国内下载:

代码语言:javascript复制
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ myqr

安装后,我们可以开始编写代码:

代码语言:javascript复制
from MyQR import myqr    # 注意大小写
myqr.run(words='http://www.baidu.com')    # 如果为网站则会自动跳转,文本直接显示,不支持中文

我们执行代码后会在项目下生成一张二维码。当然我们还可以丰富二维码:

代码语言:javascript复制
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模块:

代码语言:javascript复制
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ wordcloud

然后我们就可以写代码了:

代码语言:javascript复制
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的详细操作,请参考wordcloud生成Kakashi忍者wordcloud

三、批量抠图 处理图片的实现需要百度PADLAPADLE的深度学习工具PADLDLADLE的帮助。我们需要安装两个模块来快速实现批量消光,第一个模块是PaddlePaddle

代码语言:javascript复制
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

还有一个是paddlehub模型库:

代码语言:javascript复制
pip install -i https://mirror.baidu.com/pypi/simple paddlehub

更详细的安装事项可以参见paddlehub官网:https://www.paddlepaddle.org.cn/

接下来,我们需要5行代码来实现批量处理图片:。

代码语言:javascript复制
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面前,自然语言处理也变得非常简单我们还需要安装PaddlePaddlePaddlehub来实现文本情感识别。具体安装见三节。这是我们的代码部分:

代码语言:javascript复制
import paddlehub as hub        
senta = hub.Module(name='senta_lstm')        # 加载模型
sentence = [    # 准备要识别的语句
    '你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',
]
results = senta.sentiment_classify(data={"text":sentence})    # 情绪识别
# 输出识别结果
for result in results:
    print(result)

识别的结果是一个字典列表:

代码语言:javascript复制
{'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的产品。在我们根据上面的步骤安装PaddlePaddlePaddlehub之后,我们将开始编写代码:

代码语言:javascript复制
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有很多方法来控制输入设备。我们可以使用Win32pynput模块。通过简单的循环操作,可以达到信息轰炸的效果。在这里,例如pynput,我们需要先安装模块:

代码语言:javascript复制
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

在编写代码之前,我们需要手动获取输入框的坐标:

代码语言:javascript复制
from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)

可能会有更加有效的方法,我不会。

在得到坐标后,我们可以记录下来。消息窗口不移动。我们执行以下代码窗口以切换到消息页:

代码语言:javascript复制
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实现非常简单。在早期阶段,下载文件和配置环境变量有点麻烦。本文仅显示代码:

代码语言:javascript复制
import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)

其中文本是可识别的文本。如果你对准确性不满意,可以使用百度的通用文本界面。

八、绘制函数图像 图标是数据可视化的重要工具。Matplotlib在Python中的数据可视化中起着重要的作用。让我们看看如何使用Matplotlib绘制函数图像

代码语言:javascript复制
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

代码语言:javascript复制
while(True):
    question = input()
    answer = question.replace('吗', '呢')
    answer = answer.replace('?', '!')
    print(answer)

让我们来看一个简单的测试:

你好吗? 我好呢! 你吃饭了吗? 我吃饭了呢! 你要睡了吗? 我要睡了呢!

后言

今日分享到这里就结束了。代码要多练,可以试着对着代码进行敲一遍。

0 人点赞