Python kullanarak QR Code hazırlayalım

İşimle ilgili komut satırından göndereceğim dinamik değişkenin oluşturacağı offline çalışacak bir QR Code generator’e ihtiyacım oldu. Bir kaç paket denedikten sonra sonucu en iyi aldığım paketle oluşturduğum en temel seviyedeki kod halini burada paylaşmak istedim. Böylece uzun zamandır yazmadığım bloğuma da yazma sebebim olsun.

Paketle ilgili temel bilginin ve nasıl kullanılacağını anlatan Python Package Index (pypi) sayfası şöyle;

https://pypi.org/project/PyQRCode/

Orada göreceğiniz yönergede dediği gibi kurulumu komut satırından şu şekilde yapabilirsiniz;

pip install PyQRCode

Bu tabi bizim temel paketimiz. Bunun dışında sisteminizde QR Code’u oluşturacağınız resim formatı olan PNG içinde pypng paketini kurmalısınız;

pip install pypng

Kod içine yaptığım açıklamaları ve yönergeleri inceleyebilirsiniz. Sonrasında ihtiyaca göre istediğiniz gibi değiştirirsiniz.

# -*- coding: utf-8 -*-

"""
@author: Hakan Müştak @2022 #hmustak
@mail: hakan[@]mustak.org
@web: mustak.org
@social: twitter.com/hmustak
"""

import pyqrcode  # QR Code için paketimiz
import png, sys, os  # İhtiyaç duyulan diğer paketlerimiz
from datetime import datetime  # Tarih/Saat bilgisi için paketimiz

# QR Code içinde yazacak değişkenlerimizi oluşturuyoruz 
# (opsiyonel dışarıdan da alabiliriz)
if len(sys.argv) > 1:
    qrId = sys.argv[1]  # dışarıdan argüman geldiyse kullan
else:
    qrId = "XX123456789XX"  # dışarıdan argüman gelmediyse...

# Timestamp oluşturalım
qrDateTime = datetime.today().strftime('%Y-%m-%d %H:%M:%S')

# QR Code metnimizi oluşturuyoruz
qrText = "ID : {id}  -  Date/Time : {zaman}".format(id=qrId, zaman=qrDateTime)

# QR Code'u yaratıyoruz
qrCode = pyqrcode.create(qrText, error='L', version=5)
# Resmi (PNG dosyasını) oluşturuyoruz
qrCode.png('code.png', scale=5, module_color=[0, 0, 0, 128], background=[0xff, 0xff, 0xcc])
# Gösterilmesini sağlıyoruz
qrCode.show()

# Ekrana da log/bilgi geçelim
os.system("color")
print("QRCode...\033[92m Created \033[0m")

# çıkıyoruz
sys.exit()

 

QR kodumuz oluştu ;

 

Hakan Müştak
@2022

 


2 yorum

  1. Emrah Kardemir dedi ki:

    Merak edip karebarkodu okuttuğumda tebessüm ettim :)) Eline sağlık hocam.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*

Captcha Kontrolü * Zaman aşımı, sayfayı tekrar yükleyin


Top