Python挑战游戏( PythonChallenge)闯关之路Level- 5
时隔两个月, 又重新回来写博客了
今天重新来做这个挑战题目
首先入口地址:http://www.pythonchallenge.com/pc/def/peak.html
打开来看, 没错,你没有看错,只有一副画
然后画的下面 有一句话 "pronounce it", 什么鬼! 它的发音???
只看这个看不出来什么意思.
那么按照以往的经验, 直接F12 看网页源码吧
<html>
<head> <title>peak hell</title> <link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<center>
<img src="peakhell.jpg"/>
<br><font color="#c0c0ff">
pronounce it
<br>
<peakhell src="banner.p"/>
</body>
</html> <!-- peak hell sounds familiar ? -->
这样明显看到有一个文件 banner.p, 直觉认为需要打开它 :http://www.pythonchallenge.com/pc/def/banner.p
这样我们看到了一个乱码的文本文件
接着这个源码下面有一句提示“peak hell sounds familiar ”! 这一句话就比较重要了
前面说他的发音, 这里提示说, 发音和“peak hell ” 类似, 再结合python的知识, 这一关应该是要用到 pickle 这个包了(我不会告诉你我是查看别人的)!
好了,分析工作完成,将这个文件内容下载到本地,然后执行解析程序如下(报告老板,他是抄的):
#!/usr/bin/python
# coding:utf-8import picklef=open('1.txt')
for line in pickle.load(f):print ''.join([x[0] * x[1] for x in line])f.close()
然后得到了下面的结果:
##### ##### #### #### #### #### #### #### #### #### #### #### #### #### #### #### ### #### ### ### ##### ### ##### ### ### #### ### ## #### ####### ## ### #### ####### #### ####### ### ### #### ### ### ##### #### ### #### ##### #### ##### #### ### ### #### ### #### #### ### ### #### #### #### #### ### #### #### ### #### #### ### #### #### #### #### ### ### ####
#### #### #### ## ### #### #### #### #### #### ### ####
#### #### #### ########## #### #### #### #### ############## ####
#### #### #### ### #### #### #### #### #### #### ####
#### #### #### #### ### #### #### #### #### #### #### ### #### #### #### ### #### #### #### #### ### #### ### ## #### #### ### #### #### #### #### #### ### ## #### ### ## #### #### ########### #### #### #### #### ### ## #### ### ###### ##### ## #### ###### ########### ##### ### ######
也就是说下一关的地址是:http://www.pythonchallenge.com/pc/def/channel.html
关于它本关更多的解决方案:http://wiki.pythonchallenge.com/index.php?title=Level4:Main_Page
那现在回头来看一下 pickle 这个包是什么意思
百度一下,得到这样的答案
加工数据的,可以用来存取结构化数据。举个例子:
一个字典a = {'name':'Tom','age':22},用pickle.dump存到本地文件,所存数据的结构就是字典,而普通的file.write写入文件的是字符串。读取时,pickle.load返回的是一个字典,file.read返回的是一个字符串。如下代码:
1
2
3
4
5
6
7
|
import pickle
a = { 'name' : 'Tom' , 'age' : 22 }
with open ( 'text.txt' , 'wb' ) as file :
pickle.dump(a, file )
with open ( 'text.txt' , 'rb' ) as file2:
b = pickle.load(file2)
print ( type (b))
|
得到的b的类型是字典,b和a是等价的,也就是说pickle可以把字典、列表等结构化数据存到本地文件,读取后返回的还是字典、列表等结构化数据。而file.write、file.read存取的对象是字符串。这个叫做持久化数据存贮
这个东东看着(bu)好(ming)高(jue)大(li)上的样子,有木有!
python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
一些更多pickle的知识:http://blog.csdn.net/qiqiyingse/article/details/77747777
本关小结:
本关收货最大的一点其实就是了解到了 pickle这个模块.
让我们发散思维一下, 现在密码那么多,总想把他找个地方全部记下来, 那么使用pickle的dump方法将密码存贮起来,
等到自己忘记了, 在找回来,起码这种方式,被别人拿到,他也不知道怎么破解!(程序员的思维,哈哈哈!)
Python挑战游戏( PythonChallenge)闯关之路Level- 5相关推荐
- python闯关游戏,Python挑战游戏( PythonChallenge)闯关之路Level 0
Python挑战游戏( PythonChallenge)闯关之路Level 0 Python挑战游戏( PythonChallenge)闯关之路Level 0 关卡入口地址:http://www.py ...
- Python挑战游戏( PythonChallenge)闯关之路Level 0
关卡入口地址:http://www.pythonchallenge.com/pc/def/0.html 打开这个页面之后如下: 根据上面的提示,就是说把图画上内容的结果,计算出来,转换为url就OK了 ...
- Python挑战游戏( PythonChallenge)闯关之路Level- 6
来来来,难得今天有点时间,闯关继续 照旧,先进入闯关入口,看一看这一关是怎么回事:http://www.pythonchallenge.com/pc/def/channel.html 单纯的从网页页面 ...
- Python挑战游戏( PythonChallenge)闯关之路Level- 4
闯关过程 关口地址:http://www.pythonchallenge.com/pc/def/linkedlist.html 输入关卡地址发现, 提示信息要求将网址改为:http://www.pyt ...
- Python挑战游戏( PythonChallenge)闯关之路Level- 3
闯关过程 闯关入口:http://www.pythonchallenge.com/pc/def/equality.html 根据页面提示, 应该是寻找字符串, 一个小写字母两边都是3个大写字母,类似如 ...
- Python挑战游戏( PythonChallenge)闯关之路Level- 2
闯关过程 入口地址:http://www.pythonchallenge.com/pc/def/ocr.html 页面内容如下: 页面提示内容解析: 1.识别字符,可能在书中,也可能在页面内容中. 明 ...
- Python挑战游戏( PythonChallenge)闯关之路Level- 1
闯关过程 关卡入口地址: http://www.pythonchallenge.com/pc/def/map.html 打开页面是这样的: 在图中的你内容,可以看到 K->M O->Q E ...
- python 面向对象编程tcp_python 闯关之路三(面向对象与网络编程)
1,简述socket 通信原理 如上图,socket通信建立在应用层与TCP/IP协议组通信(运输层)的中间软件抽象层,它是一组接口,在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/ ...
- Python 闯关之路一(语法基础)
原文:https://www.cnblogs.com/wj-1314/p/8403977.html python 闯关之路一(语法基础) 1,什么是编程?为什么要编程? 答:编程是个动词,编程就等于写 ...
最新文章
- CUDA error: device-side assert triggered Assertion t 」= 0 t n classes failed
- Teach Yourself Drupal in 24 Minutes –Minute7 使用CCK和Image
- 【深度学习】基于深度神经网络进行权重剪枝的算法(一)
- 为什么没有MMU的处理器无法安装操作系统?
- 2021暑假实习-SSM超市积分管理系统-day09笔记
- 知乎上砍手豪关于kaggle的观点(转载)
- 如何自学web安全(详细路径)
- 1.1 Storm集群安装部署步骤
- wxwindows编译
- 为了进大厂,韩顺平Java教程百度云
- Win32子系统(csrss.exe,win32k.sys相关知识总结)
- JQuery 实现文件下载的常用方法分析
- atom-beautify sqlparse中文乱码|Could not find ‘sqlFormat‘ Beautify 0.28.7
- 柠檬班python自动化百度云_柠檬班python
- 【用matplotlib,wordcloud和pyecharts分析三国的分词,词频,词性,小说人物出场次数排序小说人物关系】
- 地理坐标系,投影坐标系区别
- 十大最佳自动化测试工具
- Always Day1 学会爱自己才能好好爱别人
- 安卓7.0 申请相机及读写权限
- 软件测试面试题 —— 移动端功能测试高频面试题
热门文章
- 写出HTML的基本结构 做简要说明,北京市顺义区2017年--2018年届高三二模语文试题(卷)与答案解析.doc...
- 关于Winxp U盘无法复制磁盘写保护解决办法
- 小白踩坑记-Redis的安装与使用
- empty:expect的替代
- 零件加工 贪心 题解
- 309. Best Time to Buy and Sell Stock with Cooldown**
- saas-export项目service层
- 求助!!C++ int接收的式子有小数但是所有的计算结果都是整数,最终结果错误的灵异事件。
- LTO助推磁带大容量存储技术超越磁盘HDD
- Linux操作文档——分析和排查系统故障(日志)