QRコードをターミナルに表示する

Pure python QR Code generatorは便利だ。
pip install Pillow qrcode
でインストールすれば、ターミナルに1行のコマンドを入力するだけでQRコードの画像を生成できる。
qr "test あいうえお" > qrcode.png
しかし画像を表示できない環境でQRコードを確認することを考える。
そこでQRコードをターミナルに表示するスクリプトを書く。
txt = input('Enter some text: ')
if txt == '': quit()

tmp = '/tmp/qrcode.png'

import qrcode
qr = qrcode.QRCode(
 error_correction=qrcode.constants.ERROR_CORRECT_L,
 border=0,
 box_size=1,
 version=1,
)
qr.add_data(txt)
qr.make(fit=True)
img = qr.make_image()
img.save(tmp)


import numpy as np
from PIL import Image

im = Image.open(tmp)
a = np.asarray(im)
for r in a:
 for c in r:
  if c: print(' '*2,end=''),
  else: print('█'*2,end=''),
 print('')
*2を*3としても良い。
2019/02/11 14:27
タグ