Pythonを使って画像ファイルを扱いたい場合、PILかPillowを使うのがほとんどだと思いますが、レンタルサーバーなど、ライブラリを自由にインストールできない環境で使えなくて困ることが稀にあります。
そういう場合に便利なのがPyPNGというライブラリです。
GitHub – drj11/pypng: Pure Python library for PNG image encoding/decoding
https://github.com/drj11/pypng
pure Pythonで書かれていて、他のライブラリにも依存していないのでファイル1個をコピーするだけで使えます。
pngファイルの作成
>>> import png
>>> width, height = 21, 7
>>> writer = png.Writer(width, height, greyscale=True, bitdepth=1)
>>> f = open('abc.png', 'wb')
>>> writer.write(f, [
... '001110001111000011100',
... '010001001000100100010',
... '010001001000100100000',
... '011111001111000100000',
... '010001001000100100000',
... '010001001000100100010',
... '010001001111000011100' ])
>>> f.close()