Python Challenge[6]

[Level 6]


Title: now there are pairs

圖片下方是一個PayPal捐贈的圖片鏈接,無其他信息,查看源碼,有兩處注釋:

  1. <-- zip
  2. The following has nothing to do with the riddle itself. I just
    thought it would be the right point to offer you to donate to the
    Python Challenge project. Any amount will be greatly appreciated.
    -thesamet

圖片上是拉鏈,英文為zip,源碼注釋有zip锻拘,挺考驗腦洞的,修改url中的html為zip后綴击蹲,下載到channel.zip文件署拟。打開文件,有readme.txt歌豺,打開顯示:

welcome to my zipped list.

hint1: start from 90052
hint2: answer is inside the zip

和Level 4類似推穷,不斷讀取文件直至找到答案。

num = '90052'
suffix = '.txt'
while True:
  try:
    with open('channel/'+num+suffix,encoding='utf-8') as f:
      data = f.read()
      print(data)#Next nothing is 83831
      num = data.split(' ')[-1]
  except:
    break

最后的提示是Collect the comments.类咧。不懂馒铃,查看官方文檔,搜索comment無果痕惋,搜索zip区宇,有zipfile模塊,在該頁中搜索comment值戳,出現(xiàn)兩處:ZipFile.commentZipInfo.comment议谷。使用第一個無果,使用第二個述寡。

import zipfile
comments = []
with zipfile.ZipFile('channel.zip') as zf:
  while True:
    try:
      zi = zf.getinfo(num+suffix)
      comments.append(zi.comment.decode('utf-8'))
      data = zf.read(num+suffix).decode('utf-8')
      num = data.split(' ')[-1]
    except:
      break
print(''.join(comments))

得到

result

大大的hockey柿隙,修改url叶洞,hockey.html顯示it's in the air. look at the letters.鲫凶,每個大的字母都是由相同的字母組合成,即oxygen衩辟,正好對應提示螟炫,[Level 7]

小結

  1. zipfile.ZipFile(file, mode='r', compression=ZIP_STORED, allowZip64=True)返回ZipFile對象,可用于讀取壓縮的文件艺晴。
  2. ZipFile.getinfo(name)返回ZipInfo對象昼钻。
  3. ZipInfo.comment返回成員的注釋。
  4. ZipFile.read(name, pwd=None)讀取其中的壓縮文件封寞。

Python Challenge Wiki

一種不下載channel.zip文件的方法:

import io,zipfile,urllib.request
zf = zipfile.ZipFile(io.BytesIO(urllib.request.urlopen('http://pythonchallenge.com/pc/def/channel.zip').read()))


1. [`class io.BytesIO([initial_bytes])`](https://docs.python.org/3/library/io.html?highlight=bytesio#io.BytesIO)可以像在二進制模式下打開的文件一樣使用然评。

####[More](http://wiki.pythonchallenge.com/index.php?title=Level6:Main_Page)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狈究,隨后出現(xiàn)的幾起案子碗淌,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亿眠,死亡現(xiàn)場離奇詭異碎罚,居然都是意外死亡,警方通過查閱死者的電腦和手機纳像,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門荆烈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竟趾,你說我怎么就攤上這事憔购。” “怎么了潭兽?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵倦始,是天一觀的道長。 經(jīng)常有香客問我山卦,道長鞋邑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任账蓉,我火速辦了婚禮枚碗,結果婚禮上,老公的妹妹穿的比我還像新娘铸本。我一直安慰自己肮雨,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布箱玷。 她就那樣靜靜地躺著怨规,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锡足。 梳的紋絲不亂的頭發(fā)上波丰,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音舶得,去河邊找鬼掰烟。 笑死,一個胖子當著我的面吹牛沐批,可吹牛的內(nèi)容都是我干的纫骑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼九孩,長吁一口氣:“原來是場噩夢啊……” “哼先馆!你這毒婦竟也來了?” 一聲冷哼從身側響起躺彬,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤煤墙,失蹤者是張志新(化名)和其女友劉穎缤底,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體番捂,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡个唧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了设预。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徙歼。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鳖枕,靈堂內(nèi)的尸體忽然破棺而出魄梯,到底是詐尸還是另有隱情,我是刑警寧澤宾符,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布酿秸,位于F島的核電站,受9級特大地震影響魏烫,放射性物質(zhì)發(fā)生泄漏辣苏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一哄褒、第九天 我趴在偏房一處隱蔽的房頂上張望稀蟋。 院中可真熱鬧,春花似錦呐赡、人聲如沸退客。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萌狂。三九已至,卻和暖如春怀泊,著一層夾襖步出監(jiān)牢的瞬間茫藏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工包个, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留刷允,地道東北人冤留。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓碧囊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纤怒。 傳聞我的和親對象是個殘疾皇子糯而,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容