Python一行代码实现生成和读取二维码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python ⼀⾏代码实现⽣成和读取⼆维码
⽬录⽣成⼆维码读取⼆维码补充总结
⼆维码是⽤某种特定的⼏何图形按⼀定规律在平⾯(⼆维⽅向上)分布的、⿊⽩相间的、记录数据符号信息的图形。

⼆维码被称为快速响应码,可能看起来很简单,但它们能够存储⼤量数据。

⽆论扫描⼆维码时包含多少数据,⽤户都可以⽴即访问信息。

近些年⼆维码也是迅速普及,⽬前已经成为了我们⽣活中的⼀部分,它有许多应⽤场景:
信息获取(名⽚、地图、WIFI 密码、资料)⽹站跳转(跳转到微博、⼿机⽹站、⽹站)⼴告推送(⽤户扫码,直接浏览商家推送的视频、⾳频⼴告)⼿机电商(⽤户扫码、⼿机直接购物下单)
防伪溯源(⽤户扫码、即可查看⽣产地;同时后台可以获取最终消费地)优惠促销(⽤户扫码,下载电⼦优惠券,抽奖)
会员管理(⽤户⼿机上获取电⼦会员信息、VIP 服务)⼿机⽀付(扫描商品⼆维码,通过银⾏或第三⽅⽀付提供的⼿机端通道完成⽀付)
账号登录(扫描⼆维码进⾏各个⽹站或软件的登录)
Python 处理⼆维码也⾮常简单,今天我们就来看看怎样使⽤⼀⾏代码⽣成或者读取⼆维码。

⽣成⼆维码
Python 有⼀个处理⼆维码的模块叫qrcode ,我们要⽣成⼆维码,需要安装这个库:
⽣成⼆维码就是调⽤这个模块的 make 函数:
123
import qrcode
img = qrcode.make('https:///people/wu-huan-bu-san ')
img.save('./pic.jpg')
运⾏这段代码,就可以得到下⾯的⼆维码:
⼤家可以扫码试试看,说不定有惊喜哦!
你肯定会说:骗⼦!这不是⼀⾏代码啊!
好吧,这两⾏可以合并的嘛:
qrcode.make('https:///people/wu-huan-bu-san
').save('./pic.jpg')
读取⼆维码
读取⼆维码就是将⼆维码背后隐藏的信息解析出来,这时候就不是⽤ qrcode 这个模块了,⽽是⽤ OpenCV 这个模块。

相信公众号的读者肯定对这个库⽐较熟悉,经常出现在我们的⽂章中。

先安装这个库:
pip install opencv-python
接着,我们以上⾯⽣成的⼆维码为例,来看看读取的代码:
1234
import cv2
d = cv2.QRCodeDetector()
val, _, _ = d.detectAndDecode(cv2.imread("pic.jpg"))
print("the secret is: ", val)
运⾏这段代码,打印信息是:
这正是我们⽣成⼆维码的内容。

这⾥怎么转换成⼀⾏代码就不需要我赘述了吧!
补充
当然Python 除了可以⽣成静态的⼆维码,还能⽣成动态的
下⾯是实现动态⼆维码的⽰例代码,可以参考⼀下
1
234567891011121314151617
# -*- coding:utf-8 -*-
# @Time : 2021-09-30
# @Author : carl_DJ
from MyQR import myqr #定义⼆维码内容word = "miss U " #追加背景myqr.run(
word,
#图⽚类型为位.gif
picture='./sohucs.gif', colorized=True, version=6
)
当然,Python 还可以制作⼀个⾃定义⼆维码⽣成⼯具,可以根据⾃⼰的需求⽣成⿊⽩的或者彩⾊的⼆维码。

1
234567891011from gooey import GooeyParser,Gooey from MyQR import myqr @Gooey(encoding='utf-8',program_name='⼆维码⽣成器',program_description='⽣成动态、彩⾊、⿊⽩⼆维码',language='chinese')def main(): parser = GooeyParser(description="⽣成动态、彩⾊、⿊⽩⼆维码") parser.add_argument('⽂本', widget="TextField") parser.add_argument('⽂件', widget="FileChooser") # ⽂件选择框
parser.add_argument('样式选择', widget='Dropdown',choices={"⿊⽩":"1","彩⾊":2,"动态":3})
parser.add_argument('⽂件保存路径',widget='DirChooser') args = parser.parse_args()
1213141516171819202122232425
if args.样式选择 == '⿊⽩':
# ⽣成⼆维码
myqr.run(words=args.⽂本,version=9,save_name='qr.png',save_dir=args.⽂件保存路径)
print('成功') elif args.样式选择 == '彩⾊': if args.⽂件.split('.')[-1] == 'gif' or args.⽂件.split('.')[-1] == 'png' or args.⽂件.split('.')[-1] == 'jpeg': myqr.run(words=args.⽂本, version=9, save_name='qr.png', save_dir=args.⽂件保存路径, picture=f'{args.⽂件}',colorized=True) print('成功')
elif args.样式选择 == '动态':
if args.⽂件.split('.')[-1] == 'gif':
myqr.run(words=args.⽂本, version=9, save_name='qrcode.gif', save_dir=args.⽂件保存路径, picture=args.⽂件,colorized=True)
else:
print("图⽚格式错误,动态⼆维码图⽚必须为gif 格式的")if __name__ == '__main__': main()总结
⼆维码的操作代码够简单吧!相信看过这篇⽂章的你肯定能记住,下次遇到⼆维码操作的时候只需5秒就可以出结果!当然,还有其他⼀些操作,⼤家可以阅读模块的接⼝去尝试。

到此这篇关于Python ⼀⾏代码实现⽣成和读取⼆维码的⽂章就介绍到这了,更多相关Python ⼆维码内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

相关文档
最新文档