ret = [ 0 for _ in range(40000)] for i in range(26): for j in range(800): try: px = img.getpixel((j,i)) except: continue ret[i * 800 + j ] = math.floor((px[2] & 0xf ) * 4 * 4 ) | (px[1]&0xf) with open('x.ps1','w') as f: f.write(''.join(map(chr,filter(None,ret))))