後輩から「jpgの画素値を書いたテキストファイルに変換したい」と相談を受けた.pyinstaller
でexe化し,配布してあげることに.
以下,書いたコード.
JPGかPNGを変換する.py
from PIL import Image
from numpy import savetxt, array
from glob import glob
from os.path import dirname, splitext, basename
def jpg2txt(img_path):
# tsvファイルで保存
savetxt(f"{dirname(img_path)}/{splitext(basename(img_path))[0]}.txt",
array(Image.open(img_path).convert("L")),
fmt="%.0f",delimiter="\t",newline="\n",
# encording="utf-8"
)
return
def main():
path = input(r"""どのフォルダの画像をテキストに変換しますか?
C:\Users\.... みたいな感じで入力してください。
中止したいときは、ctrl + C を押してください。
>>> """)
pics = glob(path+r"\*jpg")
pngs = glob(path+r"\*png")
if len(pngs) ==0:
pass
else:
for png in pngs:
pics.append(png)
for pic in pics:
print(f"{pic} を変換しました")
jpg2txt(pic)
return
main()
input()
pyinstaller
でexeにする.自分の引き出しのなさゆえ,np.savetxt
を使ったばかりに exclude --numpy
ができず,数百メガバイトとなってしまった.