요 얼마간 파이썬 2.7 버전으로 계속 작업했는데...


문득....!!!!!


그래도 최신 버전이 낫지 않을까...?


하는 생각이 들어서...

파이썬 3.3 을 설치하고 이것저것 건드려 봤습니다...;;;


2.7 ===> 3.3 으로 버전업되면서 바뀐 변화를 처음 접한 느낌은 대략 멘.붕...;;;;

바뀐 문법으로 인해 라이브러리 설치 단계부터 에러가 나기 시작하는데..;;;

생각보다 난감하더군요.. @_@;;;


제가 개인적으로 파이썬에 대한 강력함을 느낀 첫번째 이유가 라이브러리로 인한~

작업 효율 향상이었는데..;; 라이브러리 설치부터 막혀버리니..;;

( 업무 특성상 pefile, pydasm 뭐 요런 것들을 사용하는지라..;; )


한차례 좌절감을 맛본 후... 

인터넷으로 파이썬3 에 대한 이런저런(?) 정보들을 먼저 수집했습니다..


  1. print 는 함수처럼 '(', ')' 로 감싸줘야한다.
  2. 예외처리부에서는 'exception, e' -> 'exception as e' .
  3. 문자열은 기본적으로 '유니코드' 이다.
  4. (int) / (int) 는 (float) ... (int) // (int) = (int)
  5. 일부 내장 함수들 및 자료형이 사라지고 추가되었다...
  6. 기타 등등..


뭐... 생각보다 많은 변화(?)가 있더군요..


달라진 내용을 기반으로 기존의 2.x 코드를 포팅하는 방법에 대한 글들을 읽어보면서~

' pefile ' 을 대상으로 하나하나 적용시켜봤습니다.. :))

[ pefile - project home ] 


일단 결과는 나름 성공(!?)인듯해서... 살포시 블로그에 올려봅니다. ^^;;;

하지만 모든 부분을 테스트 해보지는 못했기에 중간중간 문제가 발생할 수도 있을 것 같네요...;;;


그런 버그들은 추후... 발견이 되면 수정을 하는 방향으로..^^;;;;

[ pefile_py3 GitHub - https://github.com/BlackXeronic/pefile_py3 ]


ps... 포팅작업 은근 토나오네요...;;;



pefile_py3-master.zip




YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. BlogIcon 비엘 2014.02.01 03:23  댓글주소  수정/삭제  댓글쓰기

    안녕하세요? 저도 파이썬에 관심이 많습니다.
    파이썬에는 2버전에 3버전으로 변환하기 위한 2to3.py라는 스크립트 제공하고 있습니다.
    파이썬 루트 폴더에서 Python33/Tools/scripts 폴더에 들어있구요.
    사용법은 http://docs.python.org/2/library/2to3.html 을 참고해보세요
    토나오는 작업 안해도 됩니다. ^^

    • BlogIcon XeroNic(HS) 2014.02.01 03:50 신고  댓글주소  수정/삭제

      방문 감사합니다~~ :)
      2to3 을 살짝 보긴 했는데 한계가 있는 것 같더라구요..
      문법적으로 문제가 되는 부분에 대해서는 어느 정도 변환이 잘 되는 듯 한데..
      문법적으로 문제가 없지만 내부에서 처리되는 자료형이 달라진 경우는..
      변환을 못하는 점이랄까요...

      가령 2.x 버전에서 (int)/(int) 의 결과는 (int) 인데...
      3.x 에서는 (float) 로 되는 걸로 인해 문제가 생기는데...
      ( (int)/(int) 로 나온 값으로 slice 를 먹인다거나 하는..ㅎ )
      이런 것들은 2to3 으로는 변환이 불가능해서 직접 바꿔줘야 되더군요.. ^^;;

      그래도 토나오는 작업하면서... 얻은 것도 많아서 나름 만족합니다.. ^^;;;