QRコード(1)からの続き
前回の結果をまとめて,次のような仕様のpythonプログラム qr.py をつくる。テキストをファイルで与えるとエンコードしたQRコードの画像ファイルを生成し,逆にQRコードの画像ファイルを与えるとデコードしたテキストファイルを生成するソフトウェアである。いろいろ調べた結果を継ぎ接ぎしているだけだ。
(1) ./qr.py t hoge とすると,hoge.txt を hoge.png に変換する。(2) ./qr.py g hoge とすると,hoge.png を hoge.txt に変換する。
#!/Users/koshi/bin/pythonimport sysimport qrcodefrom pyzbar.pyzbar import decodefrom PIL import Image, ImageGrabfoo=sys.argv[1]bar=sys.argv[2]if foo == 't':infile = bar+'.txt'outfile = bar+'.png'with open(infile, "r") as file:moji = file.read()img = qrcode.make(moji)img.save(outfile)elif foo == 'g':infile = bar+'.png'outfile = bar+'.txt'with open(outfile, 'w') as file:img = Image.open(infile)for x in decode(img):moji = x[0].decode("utf-8")file.write(moji)