[python] version별로 module import 하기.. (python2 VS python3)

2015. 1. 4. 02:21 from Dev/python

Python 2에서 Python 3으로 넘어가면서 이것저것 많이 바뀌고 해서 익숙하게 사용하던 것도 바꾸어 주어야 하는 경우가 생깁니다.

아직까지 호스팅 하는 서버들은 Python2.7 정도를 서비스 하는 곳이 많은데.. 사실 개발용 PC에는 Python3을 쓰게 되지요. 계속 2를 붙잡고 있을 수는 없는 노릇이라.. -0-

웬만하면 3에 맞추어서 코딩을 하면서 어쩔 수 없는 부분이 바로 module 부분입니다. 오늘은 간단하게 버전별로 모듈을 따로 써보겠습니다. 정확히 하면 하나로 import 했다가 에러나면 '에구구' 하고 다른 버전용을 import하는 꼼수지요.

Python 3에서는 urldecode를 하려면 urllib.parse.unquote을 써야 하고, Python 2에서는 urllib.unquote를 사용해야 합니다. 이럴 경우에 다음과 같이 정의해주면 됩니다 :



try:
    from urllib import unquote
except ImportError:
    from urllib.parse import unquote


물론 명시적으로 version을 불러서 하는 방법도 생각해볼 수는 있겠지만, 이렇게 하는게 더 적당하지 않을까.. 하는 생각입니다. ^^

'Dev > python' 카테고리의 다른 글

MySQL-python 설치하기 (Ubuntu)  (1) 2015.01.21
[python] 1시간 전 datetime 구하기  (0) 2015.01.07
[python] date format을 datetime format으로  (0) 2015.01.03
[python] MySQL 연결  (0) 2014.09.05
[Algorithmic Thinking] Project 1  (0) 2014.09.05
Posted by banasun :