生信程序员

Python_MyQR——二维码生成

2019-02-28  本文已影响68人  BeautifulSoulpy

python库myqr生成二维码

python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码。

MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码、带图片的艺术二维码,也可以生成动态二维码

效果图如下:
首先安装MyQR库,直接用pip install myqr(or MyQR)。需要注意的是MyQR依赖于python3,在python2的环境下可能无法正常运行。

1.生成普通二维码

在程序中导入MyQR包下的模板myqr,其中word参数接收一个字符串作为二维码的内容。

from MyQR import myqr#注意大小写
myqr.run(words='https://www.cnblogs.com/Estate-47/')</pre>

运行后生成一个名为“qrcode.png”的二维码图片,用微信扫一扫生成的二维码,就会自动跳转到这个地址。

2.生成带图片的二维码

myqr.run(words='https://www.cnblogs.com/Estate-47/', picture='girl.jpg',colorized=True) 
#图片要和代码保持同一路径

此为彩色图片代码,需要黑白图片就去掉参数colorized=True。另外注意把图片和代码放在同一路径中,否则会报错找不到图片

3.生成动态二维码

可以直接在命令中使用myqr指令生成需要的二维码

myqr 'https://www.cnblogs.com/Estate-47/' -p QX.gif -c 
myqr.run(words='https://www.cnblogs.com/Estate-47/', 5     picture='QX.gif',colorized=True)
image
#正确版本

# 先导入模块
import os
from MyQR import myqr

#os.chdir('C:/Users/dell/数据分析师/python基础语法')

myqr.run(
    words='https://www.jianshu.com/u/d7f579a391f5',
    # 扫描二维码后,显示的内容,或是跳转的链接
    version=5,  # 设置容错率
    level='H',  # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
    picture='Python.gif',  # 图片所在目录,可以是动图
    colorized=False,  # 黑白(False)还是彩色(True)
    contrast=1.0,  # 用以调节图片的对比度,1.0 表示原始图片。默认为1.0。
    brightness=1.0,  # 用来调节图片的亮度,用法同上。
    save_name='Python.gif',  # 控制输出文件名,格式可以是 .jpg, .png ,.bmp ,.gif
    )

#报错:Wrong picture! Input a filename that exists and be tailed with one of {'.jpg', '.png', '.bmp', '.gif'}!
#解决方案:picture与save_name 设置一致
#选择困难症状;
# 帮你做选择之我要吃什么
import random

# 将需要用到的表格和变量放在开头
list_food = ['KFC', '蒸菜馆', '楼下快餐店', '桂林米粉', '东北饺子', '金牌猪脚饭', '三及第汤饭']  # 备选菜单,可自定义。
list_choice = []

# 由于两个原因都包含判断过程,所以,为了让代码更简洁,可将其封装成函数。
def choose(list):
    while True:
        food = random.choice(list)
        judgement = input('去吃【%s】好不好啊?同意的话输入y,不想吃直接回车即可。'%(food))
        if judgement == 'y':
            print('去吃【%s】!就这么愉快地决定啦!'%(food)) 
            break

# 判断环节
reason = int(input('你不知道吃什么的原因是:1.完全不知道吃什么;2.在几家店之间徘徊(请输入1或2):'))
if reason == 1:
    choose(list_food)
elif reason == 2:
    add = True
    while add:
        choice = input('请输入让你犹豫的店名(注:一家一家输,完成后输入y):')
        if choice != 'y':  # 这个判断语句,是为了不将 y 也添加到菜单里。
            list_choice.append(choice)
        if choice == 'y':
            add = False
    choose(list_choice)          
else:
    print('抱歉,目前还不支持第三种情况——不过,你可以加代码哦。')
上一篇下一篇

猜你喜欢

热点阅读