pythonchallenge 解谜 Level 6
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonchallenge 解谜 Level 6相关的知识,希望对你有一定的参考价值。
第六关地址
http://www.pythonchallenge.com/pc/def/channel.html
和前几关一样,首先看网页源码吧。反正不看也没办法。。。
1 <html><!-- <-- zip --><head> 2 <title>now there are pairs</title> 3 <link rel="stylesheet" type="text/css" href="../style.css"> 4 </head> 5 <body> 6 <center> 7 <img src="channel.jpg"> 8 <br> 9 <!-- The following has nothing to do with the riddle itself. I just 10 thought it would be the right point to offer you to donate to the 11 Python Challenge project. Any amount will be greatly appreciated. 12 13 -thesamet 14 --> 15 16 <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 17 <input type="hidden" name="cmd" value="_xclick"> 18 <input type="hidden" name="business" value="[email protected]"> 19 <input type="hidden" name="item_name" value="Python Challenge donations"> 20 <input type="hidden" name="no_note" value="1"> 21 <input type="hidden" name="currency_code" value="USD"> 22 <input type="hidden" name="tax" value="0"> 23 <input type="hidden" name="bn" value="PP-DonationsBF"> 24 <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" border="0" name="submit" alt="Make payments with PayPal - it‘s fast, free and secure!"> 25 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 26 </form> 27 28 29 30 </center></body></html>
有用的信息 zip。<!--内容-->翻译是。 以下与谜题本身无关。。。
所以有用的只有一个zip。一开始以为zip是一个网页,后来发现是把
http://www.pythonchallenge.com/pc/def/channel.html
变换成
http://www.pythonchallenge.com/pc/def/channel.zip
得到一个zip压缩文件。
使用python代码解压。(压缩包解压也可以)
1 #-*- coding:utf-8 -*- 2 #代码版本均为python 3.5.1 3 #Level 6 4 5 import zipfile 6 import os 7 import glob 8 9 file = zipfile.ZipFile("channel.zip", "r") 10 11 print (‘‘‘列出文件‘‘‘) 12 for name in file.namelist(): 13 print(name) 14 15 print (‘‘‘列出文件信息‘‘‘) 16 for info in file.infolist(): 17 print (info.filename,"文件名") 18 print (info.date_time,"修改时间") 19 print (info.file_size,"大小") 20 print (info.compress_type,"压缩级别") 21 print (info.compress_size ,"压缩数据大小") 22 print (info.file_size,"未压缩文件大小") 23 24 for i in range(1, 10): 25 print ("") 26 27 print (‘‘‘解压操作 unzip‘‘‘) 28 for name in file.namelist(): 29 file.extract(name,os.getcwd()+"/zipfile_module") #解压到当前目录 30 31 #关闭压缩文件句柄 32 file.close
和之前的一关有点相似。跑了一遍代码。发现提示说答案在压缩文件注释中。
关于python压缩文件.
http://www.jb51.net/article/68417.htm
最终代码
#-*- coding:utf-8 -*- #代码版本均为python 3.5.1 #Level 6 import zipfile import os import glob import re file = zipfile.ZipFile("channel.zip", "r") p = 90052 for name in file.namelist(): line = str(file.read("%s.txt" % p)) m = re.search(‘Next nothing is ([0-9]+)‘, line) print (file.getinfo("%s.txt" % p).comment.decode("utf-8"), end=" ") p = m.group(1)
下一关地址。
http://www.pythonchallenge.com/pc/def/oxygen.html
以上是关于pythonchallenge 解谜 Level 6的主要内容,如果未能解决你的问题,请参考以下文章