Python产生QRCode图片 - Python练习题一

Python练习题一

import qrcode
import sys
import os
 
# 需要传入5个参数
# msg: QRCode的内容
# box_size: 图里面的像素大小,也就是每个黑点要多大,大一点整个图也会变大,预设值为 10
# border: 旁边白框大小,预设值为 2
# file_name: QRCode的图片档名, 不包含附档名
# path: QRCode的图片存档路径, 分隔字元采用斜线(/)

arg_cnt = len(sys.argv)
if arg_cnt < 2:
    print("需要传入5个参数:")
    print("qtcode_gen msg [box_size [border [file_name [path]]]")
    print("  msg: QRCode的内容")
    print("  box_size: 图里面的像素大小,也就是每个黑点要多大,大一点整个图也会变大,预设值为 10")
    print("  border: 旁边白框大小,预设值为 2")
    print("  file_name: QRCode的图片档名, 不包含附档名")
    print("  path: QRCode的图片存档路径, 分隔字元用斜线(/)")
    sys.exit(1)

# QRCode 的内容
msg = sys.argv[1]
# 二维码矩阵大小, 1~40
ver = 1
# 二维码每个小格像素值, 预设10
box_size=10 
if arg_cnt >= 3 and sys.argv[2].isdigit():
    box_size = int(sys.argv[2])

# 外框像素, 预设2
border=2
if arg_cnt >= 4 and sys.argv[3].isdigit():
    border = int(sys.argv[3])

# file_name, 图片格式固定为 png
file_name = 'qrcode_tmp.png'
if arg_cnt >= 5:
    file_name = sys.argv[4] + '.png'
# path
path = os.getcwd() #目前工作路径
if arg_cnt >= 6:
    path = sys.argv[5]

if path[-1] != '/':
    path += '/'

# 产生一个 qrcode 物件
# error_correction: 错误修正程度,设置为 High
qr = qrcode.QRCode(
    version=ver,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=box_size,
    border=border,
)

# 产生图档
qr.add_data(msg)
qr.make(fit=True) #忽略version
img = qr.make_image()

# 存档
img.save(path+file_name)
print("完成\n"+path+file_name)


<<:  Leet Code 3. Palindrome Number

>>:  C# delegate 委派

DAY 18 『 画面间跳页传值 - Protocol And Delegate 』

昨天介绍完如何跳页,今天将会分享如何跳页传值。 成品: 刚执行模拟器的样子 按下 Button 後会...

[Day21] 与问题成员对话-案例三:PIP

对话,有很高的机会,可以让主管与团队成员间,重新对齐目标,提升团队效能外,偶尔也会有例外状况。根据经...

[Day 30]从零开始学习 JS 的连续-30 Days---连续30天的"遗憾赛程"!!

连续30天的"遗憾赛程"!! 谁说连续写30天就可以完赛啊!我连续写了30天,结...

Day 13 : Maximum Subarray

今天的题目是要我们在一个整数阵列中找到子阵列(subarray),也就是撷取阵列中相连的一部分,求出...

【Day06】生命周期 Lifecycle(Class Component)

React 元件拥有从产生、渲染 到被移除解放资源的各个阶段 称之为生命周期(Lifecycle)。...