>  기사  >  백엔드 개발  >  멋진 기능을 구현하는 10줄의 Python 코드

멋진 기능을 구현하는 10줄의 Python 코드

WBOY
WBOY앞으로
2023-04-12 14:43:031796검색

멋진 기능을 구현하는 10줄의 Python 코드

1. QR 코드 생성

QR 코드는 2D 바코드라고도 합니다. QR 코드는 QR Code의 약자로 최근 모바일 기기에서 매우 인기 있는 코딩 방법입니다. QR 코드도 매우 간단합니다. Python에서는 MyQR 모듈을 통해 QR 코드를 생성할 수 있습니다. QR 코드를 생성하려면 먼저 MyQR 모듈을 설치해야 합니다. :

pip install qrcode

설치가 완료되면 코드 작성을 시작할 수 있습니다.

import qrcode
text = input(输入文字或URL:)
# 设置URL必须添加http://
img =qrcode.make(text)
img.save()
#保存图片至本地目录,可以设定路径
img.show()

코드를 실행하면 프로젝트 아래에 QR 코드가 생성됩니다. 물론 QR 코드도 풍부하게 만들 수 있습니다.

먼저 MyQR 모듈을 설치합니다

pip installmyqr
def gakki_code():
version, level, qr_name = myqr.run(
words=https://520mg.com/it/#/main/2,
# 可以是字符串,也可以是网址(前面要加http(s)://)
version=1,# 设置容错率为最高
level='H',
# 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture=gakki.gif,
# 将二维码和图片合成
colorized=True,# 彩色二维码
contrast=1.0,
 # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
brightness=1.0,
# 用来调节图片的亮度,其余用法和取值同上
save_name=gakki_code.gif,
# 保存文件的名字,格式可以是jpg,png,bmp,gif
save_dir=os.getcwd()# 控制位置
)

 gakki_code()

또한 MyQR은 동적 사진도 지원합니다.

2. 워드 클라우드 생성

워드 클라우드라고도 불리는 워드 클라우드는 텍스트 데이터에서 더 자주 나타나는 "키워드"를 시각적으로 눈에 띄게 표현한 것이며, 여기서 키워드를 렌더링하면 구름과 같은 컬러 그림이 형성됩니다. 방식으로 텍스트 데이터의 주요 의미를 한눈에 파악할 수 있습니다.

하지만 저는 오래된 코더로서 여전히 코드를 사용하여 나만의 워드 클라우드를 생성하는 것을 좋아합니다. 시간이 오래 걸릴까요? 많은 글에서 다양한 방법을 소개하고 있지만 실제로는 Python 코드가 10줄만 있으면 됩니다.

먼저 필요한 라이브러리를 설치하세요

pip install wordcloud
pip install jieba
pip install matplotlib

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
text_from_file_with_apath = open('/Users/linuxmi/linuxmi.txt').read()
wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split =.join(wordlist_after_jieba)
my_wordcloud = WordCloud().generate(wl_space_split)
plt.imshow(my_wordcloud)
plt.axis(off)
plt.show()

생성된 워드 클라우드는 다음과 같습니다.

멋진 기능을 구현하는 10줄의 Python 코드

다음 10줄의 코드를 읽어보세요.

  • 1~3줄은 각각 드로잉 라이브러리 matplotlib와 word를 가져옵니다. 클라우드 생성 라이브러리 wordcloud 및 jieba의 단어 분할 라이브러리
  • 로컬 파일을 읽는 4줄
  • 5~6줄, jieba를 사용하여 단어를 분할하고 단어 분할 결과를 공백으로 구분합니다.
  • 7줄, 단어 분할 후 텍스트가 단어 구름을 생성합니다.
  • 8~10줄, pyplot을 사용하여 단어 구름 다이어그램을 표시합니다.
이것이 제가 Python을 좋아하는 이유 중 하나입니다. Python은 간단하고 명확합니다.

3. 배치 컷아웃

컷아웃을 구현하려면 Baidu Feipiao의 딥 러닝 도구인 paddlepaddle의 도움이 필요합니다. 배치 컷아웃을 빠르게 구현하려면 두 개의 모듈을 설치해야 합니다. 첫 번째는 PaddlePaddle입니다.

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

또 하나는 paddlehub 모델입니다. library:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

다음으로 배치 컷아웃을 구현하려면 단 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})# 抠图

4. 텍스트 감정 인식

paddlepaddle에 앞서 자연어 처리도 매우 간단해졌습니다. 텍스트 감정 인식을 구현하려면 PaddlePaddle 및 Paddlehub도 설치해야 합니다. 구체적인 설치 방법은 Part 3을 참조하세요. 그런 다음 코드 부분이 나옵니다.

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}

sentiment_key 필드에는 감정 정보가 포함되어 있습니다. 자세한 분석은 Python 자연어 처리에 5줄의 코드만 필요함을 참조하세요.

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)

위 프로그램을 실행한 후, detector_result 폴더 프로젝트 아래에 생성되며 인식 결과가 그 안에 저장됩니다.

6. 간단한 정보 폭격

파이썬에서 입력 장치를 제어하는 ​​방법은 여러 가지가 있습니다. 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줄이 넘는 코드이고 고급 코드는 아닙니다.

7. 그림 속 텍스트 식별

Tesseract를 사용하여 그림 속 텍스트를 식별할 수 있습니다. Python으로 구현하는 것은 매우 간단하지만 초기 단계에서 파일을 다운로드하고 환경 변수를 구성하는 것이 약간 번거롭기 때문에 이 기사에서는 단지 설명만 하겠습니다. 코드:

import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)

여기서 text는 인식된 텍스트입니다. 정확성이 만족스럽지 않다면 Baidu의 범용 텍스트 인터페이스를 사용할 수도 있습니다.

8. 간단한 미니 게임

몇 가지 작은 예제로 시작하는 것이 매우 효율적이라고 느껴집니다.

import random
print(1-100数字猜谜游戏!)
num = random.randint(1,100)
guess =guess
i = 0
while guess != num:
i += 1
guess = int(input(请输入你猜的数字:))
if guess == num:
print(恭喜,你猜对了!)
elif guess < num:
print(你猜的数小了...)
else:
print(你猜的数大了...)
print(你总共猜了%d %i + 次)

작은 사례를 맞춰보고 눈앞에서 연습해 보세요

위 내용은 멋진 기능을 구현하는 10줄의 Python 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제