지난 번 모듈 관광 1회의 뜨거운 성원에 힘입어 (;;)
2회를 준비했습니다. 으흐흣~
오늘은 역시 초기이니, 많이 안 알려진 것을 일부러 골라 봤는데요.
파이썬 표준라이브러리에 들어있지만 문서화가 안 되어 있고
책에서도 좀처럼 소개해주지 않기 때문에, 쓰는 곳도 찾기
힘든 그런 모듈로 이름은 imputil 입니다.
파이썬에서는 임포트 과정을 직접 조작할 수 있는데, 그 기능을
이용한 것이 대표적인게 바로 zipimport 모듈입니다. 그 덕분에
파이썬에서는 모듈을 zip에 묶어놔도 읽어들일 수 있게 되어
있는데요. 이 과정을 직접 만들려면 파이썬 내부 동작을
건드릴 부분이 많다보니 귀찮은 과정을 겪어야합니다.
이런 과정을 파이썬 언어스럽게 간단하게 해결할 수 있게
대충 껍데기를 만들어 놓은 것이 바로 imputil입니다.
관광에서는 역시 복잡한 걸 해 보면 안 되니까, 간단하게
파이썬 프로그램 확장자를 .py가 아니라 .pl인 것도 읽을
수 있게 고쳐봅시다. (-O-;;) 우선 foo.pl 라는 이름으로 파일을
만듭니다.
1 2 3 |
% <b>cat >foo.pl print "Hello!"</b> % |
그리고 이제 imputil로 쓱싹~
1 2 3 4 5 6 |
>>> <b>import imputil</b> >>> <b>mng = imputil.ImportManager()</b> >>> <b>mng.add_suffix('.pl', imputil.py_suffix_importer)</b> >>> <b>mng.install()</b> >>> <b>import foo</b> Hello! |
플러그인에 괜히 자기 프로그램 이름을 붙여서 파이썬 아니고
뭔가 특별한 것인 척 할 때 좋겠죠? 🙂 괜히 암호화해 놨다가 풀면서 임포트하게 할 수도 있고.. 여러가지 응용이 가능하겠습니다.
— (플러그인 프레임워크를 위해 제어할 때는 마찬가지로 표준 모듈인 imp를 쓰면 멋있게 만들 수 있습니다.)