태그 보관물: python

한글 텍스트 추출을 위한 Python PDF module

이 내용은 2020년 3월에 작성된 것으로 참조하는 시점에 따라 변경된 사항들이 있을 수도 있습니다. PyPDF2 PyPDF2는 PDF file의 metadata 정보를 가져오거나 페이지 단위로 나누거나 합치는 등의 여러가지 편리한 기능들을 제공한다. 하지만 한글을 제대로 추출하지 못하는 문제가 있어서(한글 뿐 아니라 CJK 모두 라고 함) 목적에는 적합하지 않았다. PDFMiner 한글 처리는 문제 없다. 그런데 페이지 단위로 나누어서 […]

[Tip] Emacs에서 pdb 사용할 때 UnicodeEncodeError

*** UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 168-169: ordinal not in range(128) Emacs에서 shell을 열고 pdb를 실행 할 때 표시하고자 하는 문자열이 ASCII가 아니라면 발생 할 수 있는 문제인데 emacs의 초기화 파일에 unicode locale 설정을 해주는 것으로 해결할 수 있다. 인터넷 문서들 중에는 LANG, LC_LANG, LC_CTYPE 모두를 설정해 주어야 한다는 내용도 있었으나, 내 […]

[Tip] Mac version docker에서 띄운 (웹) 서버에 접속하기

Mac version Docker에 띄워둔 web server에 host에서 접속하려면 어떻게 해야 할까? 실행할 때 ‘–network=host’를 주면 된다는 얘기가 있어서 해봤는데, Mac에서는 통하지 않았다 이건 linux용이라고… Networking features in Docker Desktop for Mac에 따라 실행할 때 port를 매핑하는 것으로 이 문제를 해결할 수 있다. Docker의 9090 port에 Mac의 9090 port로 접근하려면 다음과 같이 -p option으로 port를 매핑해서 […]

App engine – 지정한 달의 google calendar event 가져오기

Google calendar API 설명문서에는 event list를 가져오는 방법이 설명과 함께 예제 code가 제시되어 있다. 이 코드를 수행하면 달력이 가지고 있는 모든 event들을 가져오는데, 이것을 조금 수정해서 지정된 달에 해당하는 event 목록을 가져오는 것으로 변경해 보자. timeMax / timeMin 가져올 event의 범위는 lower bound를 나타내는 timeMin과 upper bound를 나타내는 timeMax값으로 제한할 수 있는데 이때 사용되는 날짜의 형식은 […]

Jinja2의 UnicodeDecodeError

App engine을 이용하는 project 중에 Jinja2 template 부분에서 다음과 같이 UnicodeDecodeError가 발생하는 문제가 생겼다. Jinja2 web page의 설명문서에 따르면, Jinja2는 내부적으로 Unicode를 사용하기 때문에 template에는 unicode object를 넘겨주어야 한다고 설명하고 있는데, 내가 project에서 사용하는 web page는  cp949 encoding을 사용하기 때문에 문제가 발생한다. 따라서 이것은 Jinja2 template으로 data를 넘기기 전에 unicode()를 이용해서 cpc949를 uinicode로 변환한 값을 […]