from multiprocessing import Process
deffunc(s):print(s)if __name__ =='__main__':
process =[
Process(target=func, args=('1',))
Process(target=func, args=('2',))][p.start()for p in process][p.join()for p in process]
六、多线程 - threading
创建多线程
import threading
deffunc(s):print(s)if __name__ =='__main__':
thread =[
threading.Thread(target=func, args=('1',))
threading.Thread(target=func, args=('2',))][t.start()for t in thread][t.join()for t in thread]
七、谷歌翻译 - googletrans
自动语言检测,批量翻译,语言检测等
from googletrans import Translator
translator = Translator()# 未提供源语言以及翻译的最终语言,会自动翻译成英文
translator.translate('안녕하세요.')# 告诉它翻译成什么语言
translator.translate('안녕하세요.', dest='ja')# 告诉它源语言是什么
translator.translate('程序员亮仔', src='zh-cn')# 语言检测
t = ttranslator.detect('이 문장은 한글로 쓰여졌습니다.')
t.lang
八、重复回调 - retrying
如果请求失败,我们需要再重新进行进行请求,防止请求异常导致数据缺失
from retrying import retry
@retry(stop_max_attempt_number=5)defsay():try:
cxyliangzai
except Exception as e:# 可以将错误记录日志print(e)raise
say()
九、游戏开发 - pygame
实现 python 游戏的开发,可以开发各种大小型游戏
import pygame, sys
from pygame.localsimport*# 初始化pygame
pygame.init()# 设置窗口的大小,单位为像素
screen = pygame.display.set_mode((500,400),0,32)# 设置窗口的标题
pygame.display.set_caption('用户事件监控')# 设置背景
screen.fill((255,255,255))# 程序主循环whileTrue:# 获取事件for event in pygame.event.get():# 判断事件是否为退出事件if event.type== QUIT:# 退出pygame
pygame.quit()# 退出系统
sys.exit()# 获得键盘按下的事件 if event.type== KEYDOWN:if(event.key==K_UP or event.key==K_w):print("上")if(event.key==K_DOWN or event.key==K_s):print("下")if(event.key==K_LEFT or event.key==K_a):print("左")if(event.key==K_RIGHT or event.key==K_d):print("右")# 按下键盘的Esc键退出if(event.key==K_ESCAPE):# 退出pygame
pygame.quit()# 退出系统
sys.exit()# 获得鼠标当前的位置 if event.type==MOUSEMOTION:print(event.pos)# 获得鼠标按下的位置if event.type==MOUSEBUTTONDOWN:print("鼠标按下:", event.pos)# 获得鼠标抬起的位置if event.type==MOUSEBUTTONUP:print("鼠标抬起:", event.pos)# 绘制屏幕内容
pygame.display.update()
十、绘图教程 - turtle
可以画出各种各样奇妙的图案,简直就是程序中的画板
from turtle import*
colors =['red','purple','blue','green','yellow','orange']for x inrange(360):
pencolor(colors[x %6])
width(x /100+1)
forward(x)
left(59)
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p class="name nickname user"><b>i am cxyliangzai</b></p>','html.parser')#获取整个p标签的html代码print(soup.p)#获取b标签print(soup.p.b)#获取p标签内容,使用NavigableString类中的string、text、get_text()print(soup.p.text)#返回一个字典,里面是多有属性和值print(soup.p.attrs)#查看返回的数据类型print(type(soup.p))#根据属性,获取标签的属性值,返回值为列表print(soup.p['class'])#给class属性赋值,此时属性值由列表转换为字符串
soup.p['class']=['Web','Site']print(soup.p)
十七、日志处理 - logging
打印和记录日志
import logging
logging.basicConfig(filename='logging.text', level=logging.DEBUG)
logging.debug('It is a debug')
logging.info('It is a info')
logging.warning('It is a warning')
十八、图像处理 - PIL
非常适合于图像归档以及图像的批处理任务。可以使用 PIL 创建缩略图,转换图像格式,打印图像等等
from PIL import Image
im = Image.open("picture.jpg")
new_im = im.convert('L')print(new_im.mode)
new_im.show()