요즘 일하면서 주로 하고 있는 업무가 부하테스트 진행이라 그런지 테스트를 돌리고 있는동안에는 어느정도 여유시간이 있어서 Python을 공부하고 있습니다. 공부하면서 이런 저런것들을 한번씩 만들어 보고 있는데요 오늘 만들어 본것은 CP949로 인코딩 되어 있는 문서를 UTF-8 로 인코딩 해주는 스크립트 입니다. 이번에도 역시 저 쓸라고 만든거고요 -_-ㅋ 예전에 연구실 서버 이전작업을 하면서 CP949로 인코딩 되어 있는 PHP, HTML 파일들을 Edit Plus에서 열심히 수작업으로 인코딩변경 했던 기억을 곱씹으며 만들어보았습니다. 원리는 되게 단순합니다. walk라는 함수를 호출하면 현재 위치한 폴더의 하위디렉토리들을 탐색하면서 php, htm, js 확장자를 가진 파일을 찾았을때(os.path.isfile()) changeEncoding이라는 함수를 호출하게 되고 이 함수에서는 해당 파일을 불러온 후 원본파일을 삭제하고(어떻게 보면 위험하겠죠 -_-;; 하지만 제가 실행한 환경은 root라는거~ 더 위험한건가? -_-;;;) 불러온 파일의 한 줄 한 줄을 UTF-8로 변경해줍니다. 변경하고 원본파일 이름으로 새로운 파일을 만들어 내는것이죠~!! python을 좀더 빨리 공부했더라면 editplus에서 일일히 수정하는 삽질은 안했을텐데 말이죠 ㅠ 아무튼 Python 공부할수록 재미있는 언어네요 ㅎ

※ 주 의 : 사용하시는건 자유지만 원본파일에 손상에 대한 책임은 사용하시는 분이 알아서 지시길.. -_-;;(원본파일을 삭제하지 말고 os.rename()함수로 원본파일이름+'.bak'이런식으로 변환하는것도 하나의 방법이겠죠? 처음엔 이런식으로 만들었었는데 지저분해서 그냥 원본파일을 지우는 알고리즘으로 갔답니다. -_-;;;)


Posted by 제소

댓글을 달아 주세요

  1. 두렁청해 2009.08.17 00:06 신고  댓글주소  수정/삭제  댓글쓰기

    iconv -f cpc949 -t utf8 filename.txt > outputfile.txt
    난 그냥 이걸루 ㅡ.,ㅡ



티스토리 툴바