일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CTF
- C언어
- picoCTF
- 신경망
- 소프트맥스 함수
- Python
- 딥러닝
- 역전파
- sgd
- 우분투
- 순전파
- 설치
- PostgreSQL
- 오차역전파법
- 아파치
- Python Challenge
- HTML
- Apache2
- flag
- 신경망 학습
- 리뷰
- PICO CTF
- 코딩
- 백준
- 파이썬
- AdaGrad
- 기울기
- 책
- PHP
- FastAPI
- Today
- Total
Story of CowHacker
Python challenge_5번문제 본문
안녕하세요 CowHacker입니다.
pythonchallenge 5번째 문제를 풀어 볼 거다.
http://www.pythonchallenge.com/pc/def/peak.html
흠... 저거 중국에 있는 피라미드 아닌가?
발음하다 라..
소스코드를 보니 banner.p와
밑 주석 처리된 문장이 눈에 띄었다.
난 아무 소리가 들리지 않았다.
그냥 peak hell이란 저 문구의 소리가 친숙하게 들리냐 라는 거 같은데
번역... 상태가.. 큼..
banner.p에 접속해 보겠다.
오호라 먼가 떴다.
어후.. 어지러워
저 복잡한 부분 파이썬 크롤링으로 가져올 거다.
여전히 복잡하다.
머 어쩌라는 거지
그 banner.p라는 녀석. p라는 확장자가 먼지 알아봐야 했다.
오 파이썬과 관련된 확장자다.
https://docs.python.org/3/library/pickle.html?highlight=pickle#module-pickle
파이썬 공식문서 홈페이지를 봤다.
검색을 해봤더니
파이썬 모듈인 pickle이 있었다.
unpickle 데이터 만이 믿을 수 있다고, pickle 모듈은 보안적이지 않다고 주의를 주고 있다.
내려 보던 중 간단하게 쓸만한 예시를 봤다.
pickle은 bytes만 받나 보다.
코드를 싹 바꿨다.
여전히 똑같은 에러가 떴다.
하지만 loads가 아니라 load로 하니깐...
잘 나오는 걸 볼 수 있는데
둘이 차이점은 내가 봤을 때 load가 가공되지 않은 데이터를 줘도 출력해주는 반면
loads는 한번 가공된 데이터를 줘야 하는 느낌이다.
흠.. 무슨 뜻인가 가만 봤다.
첫 번째 공백은 95..
다음엔 14.. 그리고 공백이 아닌 # 5...
무슨 그림을 리스트로 해놓은 느낌이다..
channel이라고 대문작만 하게 떴다.
from urllib.request import urlopen # url의 데이터를 열어 가져오는 라이브러리다.
import pickle # 여러 자료형을 변환없이 그대로 파일에 저장하고 불러올 때 사용하는 라이브러리다.
#============================================================#
#============================================================#
url = urlopen('http://www.pythonchallenge.com/pc/def/banner.p') # 해당 url에 대한 데이터를 가져오는 구간이다.
test = pickle.load(url)
for _ in test:
print("".join([k * v for k, v in _)) # test에서 불러온 값을 v에 넣고 v에대한 딕셔너리 즉 ""옆의 숫자값을 곱해 출력한다.
5번 문제 풀기 성공이다.
다 섯번째 문제를 풀었으니 여
섯 번째 문제로 갈 수 있다. 이
번 문제에선 python의 pickle이라는 녀석을
째 끔 알게 됐다.
'공부 > Pythonchallenge' 카테고리의 다른 글
Python challenge_1번문제_Returns (2) | 2022.02.06 |
---|---|
Python challenge_6번문제 (2) | 2022.02.04 |
Python challenge_4번문제 (2) | 2022.01.20 |
Python challenge_3번문제 (2) | 2022.01.11 |
Python challenge_2번문제 (2) | 2021.09.12 |