level7
地址:http://www.pythonchallenge.com/pc/def/oxygen.html。
源码:git@code.aliyun.com:qianlizhixing12/PythonChallenge.git。
问题:使用PIL对象观察打印。
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
# Level 7
import os
import urllib.request
filename = "oxygen.png"
url = "http://www.pythonchallenge.com/pc/def/" + filename
response = urllib.request.urlopen(url)
body = response.read()
response.close
if os.path.exists(filename): os.remove(filename)
tmppng = open(filename, "wb")
tmppng.write(body)
tmppng.close()
import PIL.Image
import re
pim = PIL.Image.open(filename).convert("L")
mid = (pim.size[1] + 1) / 2
stim = []
for x in range(0, pim.size[0], 7):
stim.append(chr(pim.getpixel((x, mid))))
stim = re.findall("[^0-9]([0-9]{2,3})[^0-9]", "".join(stim))
stim = list(map(int, stim))
stim = list(map(chr, stim))
print("Level 7:", "".join(stim))
if os.path.exists(filename): os.remove(filename)