Windows COM(Common Object Model)은 MS가 언어와 무관하게 사용할수 있도록 만들어낸 Object 모델이다. COM을 사용하면 VB나 VBScript, JavaScript 등에서 손쉽게 재활용이 가능하다. 그런 이유로 윈도우즈에는 수많은 기능들이 COM 콤포넌트 형태로 개발되어 있다.
이러한 기능들을 Python에서 직접 활용할 수 있다면 윈도우즈에서 Python은 JavaScript나 VBScript 보다도 훨씬 더 강력한 스크립팅 도구가 될 수 있을 것이다.
Windows COM 콤포넌트를 Python 내에서 직접 활용하기 위해서는 PyWin32라는 익스텐션이 필요하다. PyWin32는 http://starship.python.net/crew/mhammond/win32/ 나 http://sourceforge.net/projects/pywin32/ (새 창으로 열기) 에서 얻을 수 있는데, 현재는 소스포지에서 개발이 진행중이므로 소스포지에 가야 최신 버젼을 받을 수 있다.

PyWin32는 win32com과 win32inet, win32file, win32gui, win32security 와 같은 다양한 모듈을 제공한다. 여기서 COM을 이용하는데 필요한 것은 win32com 중 client 모듈이다. 해당모듈을 임포트 하기 위해서 다음과 같이 하면 된다.

import win32com.client as w32c

만약 typelib 에 등록된 상수이름을 사용하고자 한다면 다음과 같이 상수이름도 불러들일 수 있다.

from win32com.client import constants

모듈을 임포트 하고 나면 다음과 같은 방법으로 간단하게 COM 콤포넌트를 생성시킬 수 있다.

obj = w32c.Dispatch(r"Object.name")

일단 COM Object를 생성하고 나면 클래스의 인스턴스처럼 해당 메쏘드와 속성을 사용할 수 있다.

다음은 MSXML 컨트롤을 이용해 xml을 다운로드하고 xsl로 변환하는 작업을 예제이다.

xmldoc = w32c.Dispatch(r"Msxml2.DOMDocument")
rvar = xmldoc.load(xml)
xmldoc.transformNode(xsldoc)

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/09/27 00:17 2008/09/27 00:17
BLOG main image
새미 기픈 믈은 가마래 아니그츨씌.. by

카테고리

전체 (74)
궁시렁 (15)
(3)
(37)
GIS (7)
GeoTagging (8)
테터 & 텍스트큐브 (0)
바로 그때.. (3)
검색/링크 (0)

최근에 올라온 글

Total : 392064
Today : 32 Yesterday : 83
Download MathPlayer글 내용중의 수식을 보시려면 ^^
Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
자신만의 홈페이지를 만들어 올릴 공간을 갖고 싶다면,
한달에 오백원만 투자하세요