IT/Programing

[Python] 2.x버전에서 3.x버전으로 포팅 시 주의점

착한아줌마 2019. 7. 1. 18:34
반응형

 

 

 

 

 

 

 

파이썬을 시작하고 나서 2.x 에서 짠 코드들을 3.x 에서 쓰게 되는 경우가 종종 있었다.

 

사실 요즘은 대부분 웬만해선 3.x로 시작하겠지만, 아직 2.x에서의 쓸만한 코드들이나 모듈들이 있으므로, 개인적으로 2.x에서 3.x로 포팅할 때 이슈있었던 것들 정리해둔다.

 

 

 

 


 

 

 

 

1. Exception 처리의 syntax error

 

예외처리에서의 문법이 다르다. 정말 이유를 모르겠는데 syntax error 계속 어후....

 

- 2.x

except Exception, e:

 

- 3.x

except Exception as e:

 

 

 

 

 

 

2. byte array is not str

 

어느 코드였는지 자세히 기억은 안나지만 바이트 스트림 문자열 상수(리터럴)라는 것이 3.x에 생겼다.

 

그로인해 함수에 인자나 결과값이 기존 문자열이 아니라 바이트 스트림인 애들이 생겼....

 

바이트 스트림을 문자열로 변환할 때 decode()를 사용하면 된다.

 

 

 

 

 

 

3. thread import error

 

잘 쓰던 thread 모듈이 임포트 안되서 엄청 당황한 기억이.

 

threading으로 바뀌었다.

 

- 2.x

import thread

 

- 3.x

import threading

 

 

 

 

 

 

4. long type 삭제

 

long타입이 삭제되고 int로 통일해서 사용

 

 

 

 

 

 

 

 

아래 참조에 다른 주의 점들도 많이 있으므로 더 자세한 내용은 참고 바람

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- 참조

http://egloos.zum.com/mcchae/v/11195891

'IT > Programing' 카테고리의 다른 글

[Python] 문자열 줄바꿈 처리  (0) 2019.07.24
[Python] 파일 입출력  (0) 2019.07.24
[Python] 파이썬에서 리눅스 명령어쓰기  (0) 2019.06.26
^M 정체 및 제거 방법  (0) 2019.04.26
[Bash Shell Script] 함수 쓰기  (0) 2018.08.29