生成Python验证码的代码
时间: 2023-04-05 11:02:59 浏览: 92
以下是生成 Python 验证码的代码示例:
```python
import random
from PIL import Image, ImageDraw, ImageFont
# 随机生成验证码字符串
def generate_code(length=4):
code = ''
for i in range(length):
code += str(random.randint(0, 9))
return code
# 生成验证码图片
def generate_image(code):
# 设置图片大小和背景色
width, height = 120, 40
bg_color = (255, 255, 255)
# 创建图片对象
image = Image.new('RGB', (width, height), bg_color)
# 创建画笔对象
draw = ImageDraw.Draw(image)
# 设置字体和字体大小
font = ImageFont.truetype('arial.ttf', 36)
# 绘制验证码字符串
draw.text((10, 5), code, font=font, fill=(0, 0, 0))
# 添加干扰线
for i in range(5):
x1, y1 = random.randint(0, width), random.randint(0, height)
x2, y2 = random.randint(0, width), random.randint(0, height)
draw.line((x1, y1, x2, y2), fill=(0, 0, 0), width=2)
# 添加干扰点
for i in range(50):
x, y = random.randint(0, width), random.randint(0, height)
draw.point((x, y), fill=(0, 0, 0))
# 返回验证码图片和验证码字符串
return image, code
```
调用 `generate_code()` 函数可以生成一个长度为 4 的随机验证码字符串,调用 `generate_image()` 函数可以生成一个包含验证码字符串的图片对象和验证码字符串。可以将图片对象保存为文件或者直接显示在网页上。