요 얼마간 파이썬 2.7 버전으로 계속 작업했는데...
문득....!!!!!
그래도 최신 버전이 낫지 않을까...?
하는 생각이 들어서...
파이썬 3.3 을 설치하고 이것저것 건드려 봤습니다...;;;
2.7 ===> 3.3 으로 버전업되면서 바뀐 변화를 처음 접한 느낌은 대략 멘.붕...;;;;
바뀐 문법으로 인해 라이브러리 설치 단계부터 에러가 나기 시작하는데..;;;
생각보다 난감하더군요.. @_@;;;
제가 개인적으로 파이썬에 대한 강력함을 느낀 첫번째 이유가 라이브러리로 인한~
작업 효율 향상이었는데..;; 라이브러리 설치부터 막혀버리니..;;
( 업무 특성상 pefile, pydasm 뭐 요런 것들을 사용하는지라..;; )
한차례 좌절감을 맛본 후...
인터넷으로 파이썬3 에 대한 이런저런(?) 정보들을 먼저 수집했습니다..
- print 는 함수처럼 '(', ')' 로 감싸줘야한다.
- 예외처리부에서는 'exception, e' -> 'exception as e' .
- 문자열은 기본적으로 '유니코드' 이다.
- (int) / (int) 는 (float) ... (int) // (int) = (int)
- 일부 내장 함수들 및 자료형이 사라지고 추가되었다...
- 기타 등등..
뭐... 생각보다 많은 변화(?)가 있더군요..
달라진 내용을 기반으로 기존의 2.x 코드를 포팅하는 방법에 대한 글들을 읽어보면서~
' pefile ' 을 대상으로 하나하나 적용시켜봤습니다.. :))
일단 결과는 나름 성공(!?)인듯해서... 살포시 블로그에 올려봅니다. ^^;;;
하지만 모든 부분을 테스트 해보지는 못했기에 중간중간 문제가 발생할 수도 있을 것 같네요...;;;
그런 버그들은 추후... 발견이 되면 수정을 하는 방향으로..^^;;;;
[ pefile_py3 GitHub - https://github.com/BlackXeronic/pefile_py3 ]
ps... 포팅작업 은근 토나오네요...;;;
'My Portfolio' 카테고리의 다른 글
[Python] pefile-1.2.10-139 ( for Python3 ) (2) | 2014.02.01 |
---|---|
[PLUGIN] Attach Helper v0.1 (OllyDbg Plugin) (9) | 2011.12.20 |
[APP] ZAV_InducA (Win32/Induc.A 전용 백신) 소스 (18) | 2011.08.03 |
[APP] GInjector (Gundam Injector) (2) | 2011.07.31 |
[APP] DLL Injector ~ ! (4) | 2009.02.25 |
안녕하세요? 저도 파이썬에 관심이 많습니다.
파이썬에는 2버전에 3버전으로 변환하기 위한 2to3.py라는 스크립트 제공하고 있습니다.
파이썬 루트 폴더에서 Python33/Tools/scripts 폴더에 들어있구요.
사용법은 http://docs.python.org/2/library/2to3.html 을 참고해보세요
토나오는 작업 안해도 됩니다. ^^
방문 감사합니다~~
2to3 을 살짝 보긴 했는데 한계가 있는 것 같더라구요..
문법적으로 문제가 되는 부분에 대해서는 어느 정도 변환이 잘 되는 듯 한데..
문법적으로 문제가 없지만 내부에서 처리되는 자료형이 달라진 경우는..
변환을 못하는 점이랄까요...
가령 2.x 버전에서 (int)/(int) 의 결과는 (int) 인데...
3.x 에서는 (float) 로 되는 걸로 인해 문제가 생기는데...
( (int)/(int) 로 나온 값으로 slice 를 먹인다거나 하는..ㅎ )
이런 것들은 2to3 으로는 변환이 불가능해서 직접 바꿔줘야 되더군요.. ^^;;
그래도 토나오는 작업하면서... 얻은 것도 많아서 나름 만족합니다.. ^^;;;