• Python Challenge 第六关


    第六关只有一张图和一个 PayPal 的链接,右键源代码注释中写着 PayPal 是作者要赞助的,跟题目没关系,其他的提示只有注释中写的个 zip。试过下图片,改图片扩展名等等都失败了,最后乱试改了下 url,先把 channel 改了,没用,然后把 html 改成 zip,下载下来一个压缩包。解压出来一看,一堆 txt,其中有个 readme,里面有两句提示:

    welcome to my zipped list.

    hint1: start from 90052

    hint2: answer is inside the zip

    看一下其他的文件,都是一句:Next nothing is XXX

    看起来跟第四关挺像。就先写个代码查找这个 answer:

    path = 'C://Users//Leo//Desktop//channel//'
    nothing = '90052'
    fileExt = '.txt'
    while True:
        fobj = open(path + nothing + fileExt, 'r')
        text = fobj.readline()
        fobj.close()
        txtList = text.split(' ')
        if txtList[-1].isdigit():
            nothing = txtList[-1]
        else:
            break
    print '%s.txt: %s' % (nothing, text)

    结果输出:Collect the comments.

    这个 comments 是什么东西确实难倒我了。去查了一下 zipfile 模块,发现还真有 comment 这个成员,属于 ZipInfo。这样只要得到每个文件的 ZipInfo,就可以提取出 comments了。修改上面的代码,改为使用 zipfile 模块:

    zobj = zipfile.ZipFile('C://Users//Leo//Desktop//channel.zip')
    fileName = '90052.txt'
    cmtList = []
    while True:
        zinfo = zobj.getinfo(fileName)
        cmtList.append(zinfo.comment)
        f = zobj.open(fileName)
        nothing = f.readline().split(' ')[-1]
        f.close()
        if nothing.isdigit():
            fileName = nothing + '.txt'
        else:
            break
    print ''.join(cmtList)

    得到的结果为:

    将 url 中的 channel 改为 hockey,又出来一行提示:it's in the air. look at the letters.

    再看上面那张图,每个大写字母是由一些小写字母组成,这东西是空气中的,也就是氧气:oxygen。再将 hockey 改为 oxygen,进入下一关:http://www.pythonchallenge.com/pc/def/oxygen.html

  • 相关阅读:
    VLC在web系统中应用(xvlcplugin 即如何把VLC嵌入HTML中)
    mysql in 排序
    EditPlus v3.31 注册码
    UTF8编码判断
    zend framework 获取邮箱内容 编码转换 quoted_printable_decode | base64_decode
    String path = request.getContextPath(....拼装当前网页的相对路径
    【转】input中id和name的区别
    JSON基础知识
    【转】 jdbc.properties
    JSP页面传值乱码过滤
  • 原文地址:https://www.cnblogs.com/dukeleo/p/3460961.html
Copyright © 2020-2023  润新知