티스토리 뷰

TIL

[TIL] 190813

수박소바 2019. 8. 14. 00:01
반응형

오늘 한 일

  • 생활코딩 Python 수업, URL query string 가져오기 실습 및 CGI 소개 강의 완료.
  • 멜론 노래 검색 정보 크롤링 시도했으나, api 전송시 status가 406으로 나와서 아직 미해결 상태.

공부 내용

오늘 Python으로 URL query string 가져오는 실습 중에 어처구니 없는 에러가 발생하는 바람에 시간을 좀 허비했다.

 

기존 index.py 파일에 cgi 모듈을 불러와서 새로고침을 누르니 이전에 내가 실습한 string.py 파일의 출력결과가 나오는것이다...! 에러도 아니고 내가 작성한 다른 파일이 나오다니... 정말 생전 처음 겪는 상황이라 너무 당황스러웠다.

URL 창에 index.py를 열심히 다시 쳐봐도 계속 string.py 파일 결과가 나오고, string.py를 치면 에러가 나왔다;;;

 

그러다가 로그파일이 생각나서 봤더니 ImportError: cannot import name 'ascii_letters' from 'string' 이런 에러 문구가 있었다. 다행히 검색하자마자 이 블로그에서 해결방법을 찾을 수 있었다.

 

문제는 cgi 모듈을 로드하는 과정에서 내부적으로 string 모듈을 호출하는 모양인데, 내가 이전에 문자열 실습한다고 작성한 파일 이름이 string.py로 모듈이름과 똑같아서 계속 내 이전 실습파일이 불러와지고 그 때문에 'ascii_letters'라는 것을 불러올 수 없어서 모듈 로드에 실패했던 것이다.

 

알고 나니 정말 허무하고 별거 아닌(?) 에러였지만, 이건 겪어보지 않은 사람이라면 누구나 삽질할만한 상황인 것 같긴 하다...

그래도 나보다 먼저 에러를 내시고(?) 해결하시고 블로그에 친절히 적어주신 블로거 덕분에 나는 비교적 빠른 시간내에 해결할 수 있었다.

 

이 후, CGI 관련 생활코딩 강의를 계속 듣다보니 이고잉님도 cgi.py 파일로 충돌이나서 해결하는데 애좀 먹었다고 말씀을 해주시더라. 처음 배우는 사람은 한 번쯤은 겪어볼 만한 실수인가보다.

 

아무튼 CGI는 Common Gateway Interface의 약자로, 웹서버와 다양한 언어로 작성된 파일들의 동작에 표준을 제시하는 인터페이스다. 이것을 이용해서 URL의 정보라던지 다양한 정보를 얻을 수 있다. 오래된 기술이라 지금은 거의 쓰이지 않는다.

 

또한 Python 실습을 진행하다보니 '__pycache__' 라는 폴더가 생겨서 .gitignore에 추가하는 방법도 익혔다.

반응형

'TIL' 카테고리의 다른 글

[TIL] 190829  (0) 2019.08.30
[TIL] 190828  (0) 2019.08.29
[TIL] 190811  (0) 2019.08.12
[TIL] 190810  (0) 2019.08.10
[TIL] 190803  (1) 2019.08.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함