열 줄의 Python 코드로 어떤 멋진 일을 할 수 있을까요?

WBOY
풀어 주다: 2023-05-04 19:58:05
앞으로
1307명이 탐색했습니다.

10줄 이하의 코드로 어떤 흥미로운 기능을 달성할 수 있는지 살펴보겠습니다.

1. QR 코드 생성

QR 코드는 2D 바코드라고도 합니다. QR 코드의 정식 명칭은 Quick Response 입니다. 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. 워드 클라우드 생성

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

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

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

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/hecom/23tips.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()
로그인 후 복사

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

열 줄의 Python 코드로 어떤 멋진 일을 할 수 있을까요?

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

  • 라인 1~3은 각각 그림을 가져옵니다. matplotlib, 워드 클라우드 생성 라이브러리 wordcloud 및 jieba의 단어 분할 라이브러리
  • 4줄은 로컬 파일을 읽는 것입니다. 코드에 사용된 텍스트는 "Lao Cao의 눈으로 본 R&D 관리에 대한 두세 가지"입니다. 공개 계정.
  • 라인 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 모델 라이브러리:

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를 설치한 후 코드를 작성하기 시작했습니다.

paddlehub를 허브로 가져오기# 모델 모듈 로드 = 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의 범용 텍스트 인터페이스를 사용할 수도 있습니다.

八、简单的小游戏

从一些小例子入门感觉效率很高。

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 + 次)
로그인 후 복사

猜数小案例当着练练手


위 내용은 열 줄의 Python 코드로 어떤 멋진 일을 할 수 있을까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿