2015. 7. 14. 06:57ㆍIT관련
출처: http://www.pythonchallenge.com/pc/def/channel.html
왠 지퍼 사진이...
여기에는 Paypal 버튼만 있다. donate하라는 건가? html 소스를 봐도 특별한게 없다.
python challenge level 6로 검색해 보니 사진에 힌트가 있더라.
http://www.pythonchallenge.com/pc/def/channel.zip 을 받아서 압축을 풀어 본다.
엄청난 갯수의 텍스트 파일이 쏟아져 나오는데...
하나를 열어보면 "Next nothing is xxxxx" 라는 내용이 적혀 있다.
결국은 이전 문제와 비슷하게 xxxxx에 해당하는 파일을 읽고 거기에 나온 파일을 계속 찾아가라는 의미인듯.
찾아보니 46145.txt는 "Next nothing is "라는 문구 대신 "Collect the comments." 라는 내용이 있어 작성한 프로그램은 종료된다.
또 찾아보니 이번 문제는 python의 zipfile 라이브러리를 이용하여 channel.zip의 comment를 보라는 거란다. 귀찮네.
"ZIP-64 Internal Layout" by Niklaus Aeschbache - http://www.enterag.ch/enterag/downloads/Zip64File_TechnicalDocumentation.pdf. Licensed under Public Domain via Wikimedia Commons.
Offset | Bytes | Description |
---|---|---|
0 | 4 | Central directory file header signature = 0x02014b50 |
4 | 2 | Version made by |
6 | 2 | Version needed to extract (minimum) |
8 | 2 | General purpose bit flag |
10 | 2 | Compression method |
12 | 2 | File last modification time |
14 | 2 | File last modification date |
16 | 4 | CRC-32 |
20 | 4 | Compressed size |
24 | 4 | Uncompressed size |
28 | 2 | File name length (n) |
30 | 2 | Extra field length (m) |
32 | 2 | File comment length (k) |
34 | 2 | Disk number where file starts |
36 | 2 | Internal file attributes |
38 | 4 | External file attributes |
42 | 4 | Relative offset of local file header. This is the number of bytes between the start of the first disk on which the file occurs, and the start of the local file header. This allows software reading the central directory to locate the position of the file inside the .ZIP file. |
46 | n | File name |
46+n | m | Extra field |
46+n+m | k | File comment |
코드를 보면 ZipFile object는 아마도 dictionary 형태로 ZipInfo를 관리하는것 같다. 파일이름이 key일듯...
그리고 ZipFile object로 압축되어 있는 파일의 내용을 바로 읽을 수도 있더라.
반드시 마지막엔 ZipFile.close()는 해 줄 것.
그러면 콘솔에 HOCKEY라는 문구가 출력된다.
자.. hockey.html로 가보자...
it's in the air. look at the letters.
뭔소리야 이거..
'IT관련' 카테고리의 다른 글
파이썬 첼린지(Python Challenge) - smarty - 7 (0) | 2015.07.15 |
---|---|
Mac OS X에 Python Image Library(PIL) 설치 (0) | 2015.07.15 |
파이썬 첼린지(Python Challenge) - peak hell - 5 (0) | 2015.07.09 |
파이썬 첼린지(Python Challenge) - follow the chain - 4 (0) | 2015.07.09 |
파이썬 첼린지(Python Challenge) - re - 3 (0) | 2015.07.09 |