昨天写了一个简单的二维码生成脚本,解决了下载apk麻烦的问题,百度看到还有一个myqr的动态二维码模块,据说还是个大学生写的,很有意思,就自己试了试。
先了解一下myqr模块的参数含义吧:
|
myqr需要先安装一下,安装命令为pip install myqr。安装完成后根据需要配置环境变量,然后就可以开始操作啦。
最简单的生成二维码方式是在终端里直接输入 myqr https://www.cnblogs.com/hulk-1029/ -p 1.gif -c
-p是picture参数,-c是colorized参数。没有加-c参数生成的则是黑白的动态图。
myqr调用方式也很简单,生成动态二维码的方式其实就是将一张动态图片作为二维码的背景而已。
在终端执行python myqr_code.py https://www.cnblogs.com/hulk-1029/ 即可生成如下图的动态二维码,需要注意的是,生成的动态二维码名称需要为.gif格式哦,否则就没有了动态的效果了。
# -*- coding: utf-8 -*- import qrcode import os,sys from MyQR import myqr def parseArgs(sys_args=sys.argv): apk_path = (lambda x: len(x)!=1 and x[1] or 'help')(sys_args) # 分离所在目录和文件名 [dirname,filename]=os.path.split(apk_path) # 分离扩展名 [fname,fename]=os.path.splitext(apk_path) return dirname,filename,fname,fename ,apk_path def QrCode(path): '''静态二维码''' qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=5, border=2, ) apk_path = path[0]+'/'+path[1] #print apk_path qr.add_data(apk_path) qr.make(fit=True) img = qr.make_image() img.save('%s.png' % (path[2].split('/')[-1])) def myqrCode(path): '''动态二维码''' myqr.run( words='%s' % path[4], picture='1.gif', # 同级目录下放一张动态图片作为二维码背景 colorized=True, save_name='myqr.gif' ) if __name__ == '__main__': path_list = list(parseArgs()) #QrCode(path_list). myqrCode(path_list)