所有分类
  • 所有分类
  • 游戏源码
  • 网站源码
  • 单机游戏
  • 游戏素材
  • 搭建教程
  • 精品工具

Python生成二维码源码教程|零基础也能学会的实现步骤

Python生成二维码源码教程|零基础也能学会的实现步骤 一

文章目录CloseOpen

准备工作:3分钟搭好Python环境

很多人一听到“写代码”就打退堂鼓,其实现在的Python环境搭建比装微信还简单。我刚开始学的时候也以为很难,后来发现只要跟着这几步走,哪怕是电脑小白也能搞定。

首先你得安装Python本身。别去那些乱七八糟的网站下载,直接去Python官方网站,首页就有“Download Python X.X.X”的大按钮,点进去选对应你电脑系统的版本(Windows选Windows Installer,Mac选macOS 64-bit universal2 installer)。安装的时候记得勾选“Add Python to PATH”,这个选项能让你的电脑认识Python命令,省得后面还要手动配环境变量——我之前帮我妈装的时候没勾这个,结果后面输命令一直报错,折腾了半小时才发现问题,你可别犯同样的错。

装好Python后,还需要一个写代码的“记事本”。新手推荐用VS Code,微软出的免费编辑器,界面简单还能自动补全代码。去VS Code官网下载安装,打开后在左侧插件栏搜“Python”,装那个微软官方的Python插件,这样写代码的时候会有语法提示,不容易出错。

最后一步是安装生成二维码的核心工具——qrcode库和PIL库。qrcode是专门生成二维码的库,PIL(现在叫Pillow)是处理图片的库,比如给二维码换颜色、加logo都靠它。安装方法超简单:按Win+R键打开“运行”,输入cmd回车,打开命令提示符,然后输入两行命令:

pip install qrcode 

pip install pillow

输完按回车,等个10秒左右就装好了。如果出现“pip不是内部命令”,别慌,大概率是之前没勾“Add Python to PATH”,这时候重新运行Python安装包,选“Modify”,把“Add Python to environment variables”勾上就行。我去年帮同事装的时候,他就是没勾这个,折腾了三回才弄好,所以你安装时一定要注意这个细节。

核心步骤:从基础二维码到个性化设计

环境搭好就可以开始写代码了,别担心,整个过程只需要复制粘贴,我会把每一行代码的作用讲清楚,你跟着做就行。

3行代码生成基础二维码

最简单的二维码生成只需要3行代码,我第一次写的时候都惊了,原来这么简单。打开VS Code,新建一个文件,保存为“my_qrcode.py”(注意后缀是.py),然后复制这几行代码:

import qrcode # 导入二维码生成库 

img = qrcode.make("https://www.example.com") # 把网址换成你要生成二维码的内容

img.save("my_first_qrcode.png") # 保存二维码图片

把代码里的“https://www.example.com”换成你需要的内容,比如你的公众号文章链接、联系方式“电话:138XXXXXXXX”,甚至是一段文字。然后右键点击文件,选“Run Python File in Terminal”,运行完后,你会发现和代码文件同一个文件夹里多了一张“my_first_qrcode.png”的图片,打开就是一个黑白二维码。

这里有个小细节:如果你想生成文本内容的二维码,直接把网址换成文字就行,比如qrcode.make("欢迎关注我的公众号")。我第一次帮朋友生成店铺地址二维码时,就是直接把“XX路XX号”填进去,扫码就能看到文字,特别方便。不过要注意,内容太长的话二维码会很密, 控制在100字以内,否则扫码识别可能变慢。

5步打造个性化二维码

黑白二维码太普通?别急,咱们来给它“化个妆”,换颜色、加logo、调整样式,5步就能让二维码颜值翻倍。

第一步是调整颜色。默认的二维码是黑块白背景,其实可以换成任何颜色。比如把方块换成蓝色,背景换成浅灰色,只需要在代码里加几行配置:

import qrcode 

qr = qrcode.QRCode(version=1, box_size=10, border=4) # version控制二维码大小(1-40),box_size是每个小方块的像素,border是边框宽度

qr.add_data("https://www.example.com") # 添加内容

qr.make(fit=True) # 自动调整大小

img = qr.make_image(fill_color="blue", back_color="lightgray") # 设置颜色

img.save("colored_qrcode.png")

这里的fill_colorback_color可以填颜色名称(比如“red”“green”),也可以填十六进制色值(比如“#FF5733”),我一般会去草料二维码的颜色库找搭配,那里有现成的配色方案,不容易出错。

第二步是添加logo。在二维码中间放个品牌logo会更专业,不过要注意logo不能太大,否则会挡住二维码的定位点,导致无法识别。我之前帮朋友的咖啡店做二维码时,一开始把logo做得太大,结果50%的手机都扫不出来,后来调整到二维码尺寸的1/5大小就没问题了。具体操作是用Pillow库打开logo图片,粘贴到二维码上:

import qrcode 

from PIL import Image # 导入图片处理库

qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_H) # 设置高容错率

qr.add_data("https://www.example.com")

qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white").convert('RGBA')

打开logo图片

logo = Image.open("logo.png").convert('RGBA')

调整logo大小为二维码的1/5

logo_size = int(img.size[0] / 5)

logo = logo.resize((logo_size, logo_size), Image.LANCZOS)

计算logo位置(居中)

pos = ((img.size[0]

  • logo_size) // 2, (img.size[1]
  • logo_size) // 2)
  • 粘贴logo

    img.paste(logo, pos, logo)

    img.save("qrcode_with_logo.png")

    这里有个关键参数error_correction,也就是容错率,我做了个表格对比不同容错率的区别,你可以根据需要选:

    容错率等级 可遮挡面积 适用场景
    ERROR_CORRECT_L 7% 内容固定、无需遮挡(如网址)
    ERROR_CORRECT_M 15% 普通场景(默认选项)
    ERROR_CORRECT_Q 25% 需要加小logo、轻微遮挡
    ERROR_CORRECT_H 30% 加大型logo、可能被部分遮挡(如海报边缘)

    像加logo这种情况,我通常会选ERROR_CORRECT_H,容错率最高,即使logo占了30%的面积也能识别。之前帮一个活动做宣传海报,二维码边缘被设计元素挡住了一小块,就是因为用了高容错率,扫码完全没问题。

    最后一步是调整二维码样式,比如把方块换成圆形,或者添加渐变颜色。不过这个需要稍微复杂一点的代码,如果你感兴趣,可以试试qrcode库的matrix属性,获取二维码的点阵数据,然后用Pillow绘制自定义形状。我之前在GitHub上看到有人用这个方法做了个“爱心二维码”,把方块换成了小爱心,特别适合情人节宣传,你也可以发挥创意试试。

    好了,按照这些步骤,你已经能做出各种样式的二维码了。记得生成后用手机扫一下测试,确保能正常识别——我每次做完都会用微信、支付宝、浏览器分别扫一遍,保险起见。如果你按这些方法试了,欢迎回来告诉我效果,或者遇到什么问题,我可以帮你看看怎么解决!


    其实啊,不想写代码的话,在线工具真的是懒人福音,我自己刚开始学Python之前,也靠这些工具应急。比如草料二维码,打开网站直接就能用,左边输内容(网址、文字都行),右边就能实时看到二维码效果,换颜色、加logo点几下鼠标就搞定,连我妈都能跟着做。还有国外的QR Code Generator,虽然是英文界面,但图标很直观,选“Colors”就能调渐变,选“Logo”就能上传图片,生成的二维码清晰度也不错。我去年帮小区物业做防疫通知二维码,就是用草料在线生成的,从复制通知文字到保存图片,全程不到2分钟,物业大叔还夸我“年轻人就是会用工具”。不过这些工具适合偶尔用用,简单改改样式还行,要是想弄点特别的,比如每个二维码带不同编号,或者存到本地文件夹自动命名,就不太方便了。

    但在线工具的坑也得提一嘴。免费版基本都带广告,生成的二维码底下可能会有“草料二维码提供技术支持”的小字,要是做正式海报就得开会员去水印,我之前帮朋友的甜品店做活动码,免费版的水印刚好在二维码旁边,P图都不好P,最后还是花了9.9开了个月会员。批量生成更是大难题,比如你想给100个客户每人做个专属二维码(每个码带不同手机号),在线工具要么限制数量(免费版最多5个),要么就得一个个手动改内容、保存,累得手抽筋。这时候Python的好处就显出来了,我上个月帮一家教育机构批量生成学员报到二维码,用个for循环,把学员名单存成Excel,代码跑一遍,200个带不同姓名和学号的二维码自动存到文件夹里,连命名都是“学员XXX_报到码.png”,比手动弄快了不止10倍。所以啊,你要是偶尔用一次,在线工具够了;但要是经常做,或者需要批量弄,Python真的值得试试,反正基础操作也不难,学会了还能装个小X呢。


    安装Python时忘记勾选“Add Python to PATH”怎么办?

    如果安装时没勾选“Add Python to PATH”,可以重新运行Python安装包,选择“Modify”(修改)选项,在组件列表中勾选“Add Python to environment variables”,完成后点击“Install”即可。如果已经安装完成,也可以手动添加环境变量:Windows系统中,右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到“Path”,点击“编辑”,添加Python的安装路径(通常是“C:Users你的用户名AppDataLocalProgramsPythonPythonXX”和“…Scripts”),完成后重启命令提示符即可。

    二维码能生成多少文字内容?会不会太长扫不出来?

    二维码的内容长度没有严格限制,但 控制在100字以内。内容过长会导致二维码的“点阵”变密(小方块增多),扫码时手机需要处理更多信息,可能出现识别慢或识别失败的情况。如果需要存储长文本(如文章摘要),可以先把文本上传到在线文档(如腾讯文档、石墨文档),生成文档链接,再用链接生成二维码,这样既缩短内容长度,又方便扫码查看完整内容。

    给二维码加logo后扫不出来,是什么原因?

    加logo后扫不出,最常见的原因是logo尺寸过大或容错率设置过低。 logo大小控制在二维码尺寸的1/5以内(比如二维码宽200像素,logo宽不超过40像素),避免遮挡二维码的三个定位点(角落的大方块)。 生成时将容错率设置为最高等级(ERROR_CORRECT_H),可允许30%的面积被遮挡仍能识别。如果logo有透明背景,确保保存为PNG格式,避免白色背景遮挡二维码图案。

    用手机扫码时提示“无法识别”,该怎么解决?

    首先检查二维码内容是否正确(比如链接是否有误、文字是否乱码),可以用文本编辑器打开代码文件核对。其次观察二维码是否清晰:如果图片模糊(如压缩过度)、颜色对比度低(如浅灰色方块配白色背景),可能导致识别失败, 重新生成时调高图片分辨率(box_size参数设为10以上),选择深色方块(黑、蓝、绿等)配浅色背景(白、浅灰、浅黄等)。 部分手机扫码软件对特殊样式二维码兼容性较差,可尝试用微信、支付宝、浏览器等多个APP扫码测试。

    除了Python,还有其他简单的二维码生成工具吗?

    如果暂时不想学Python,也可以用在线工具快速生成二维码,比如草料二维码、QR Code Generator等,操作简单且支持基础个性化设置(换颜色、加logo)。但在线工具可能有广告、水印,或限制批量生成功能。如果需要批量生成带参数的二维码(如每个用户专属二维码),Python的qrcode库配合循环代码会更高效灵活。对于编程新手,先从在线工具上手,熟悉后再尝试Python,能更好理解二维码生成的原理~

    原文链接:https://www.mayiym.com/40699.html,转载请注明出处。
    0
    显示验证码
    没有账号?注册  忘记密码?

    社交账号快速登录

    微信扫一扫关注
    如已关注,请回复“登录”二字获取验证码