LoginSignup
2
1

More than 1 year has passed since last update.

Python3: QRCode の生成と読み取り

Posted at

Ubuntu 22.04 で必要なライブラリーのインストール

sudo apt install python3-qrcode
sudo apt install python3-pyzbar

生成

generate_qrcode.py
#! /usr/bin/python
#
#	generate_qrcode.py
#
import sys
import qrcode

text_in = sys.argv[1]
file_png = sys.argv[2]
img = qrcode.make(text_in)

print(type(img))
print(img.size)

img.save(file_png)

実行例

$ ./generate_qrcode.py https://ekzemplaro.org out01.png
<class 'qrcode.image.pil.PilImage'>
(330, 330)

読み取り

read_qrcode.py
#! /usr/bin/python
#
#	read_qrcode.py
#
import sys
from pyzbar.pyzbar import decode
from PIL import Image, ImageGrab


def qrdecode(img):
    for x in decode(img):
        print(x[0].decode("utf-8"))


if len(sys.argv) == 1:
    qrdecode(ImageGrab.grabclipboard())
else:
    for arg in sys.argv[1:]:
        qrdecode(Image.open(arg))

実行例

$ ./read_qrcode.py out01.png
https://ekzemplaro.org

生成された QRCode

out01.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1