pythonchallenge_level11

本文通过Python脚本从指定URL下载图片并使用PIL库处理该图片,从中提取出隐藏的另一张图片。具体实现包括身份验证下载文件、读取图片、创建新图片并展示。

level11

地址:http://www.pythonchallenge.com/pc/return/5808.html
源码:git@code.aliyun.com:qianlizhixing12/PythonChallenge.git。
问题:根据提示找出重叠的图片。

#!/usr/bin/env python3
# -*- coding:UTF-8 -*-

# Level 11
import os
import urllib.request

filename = "cave.jpg"
url = "http://www.pythonchallenge.com/pc/return/" + filename
userinfo = {"realm":"inflate", "uri":url, "user":"huge", "passwd":"file"}
# create a password manager
password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()
# Add the username and password
password_mgr.add_password(**userinfo)
# create "opener" (OpenerDirector instance)
handler = urllib.request.HTTPBasicAuthHandler(password_mgr)
# create "opener" (OpenerDirector instance)
opener = urllib.request.build_opener(handler)
# Install the opener.all calls to urllib.request.urlopen use our opener.
urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
body = response.read()
response.close

if os.path.exists(filename): os.remove(filename)
tmpjpg= open(filename, "wb")
tmpjpg.write(body)
tmpjpg.close()

import PIL.Image

srcimg = PIL.Image.open(filename)
desimg = PIL.Image.new(srcimg.mode, srcimg.size)
for w in range(0, srcimg.size[0], 2):
    for h in range(0, srcimg.size[1], 2):
        desimg.putpixel((w, h), srcimg.getpixel((w, h)))
desimg.show()

if os.path.exists(filename): os.remove(filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值