Python: Shock and Awe

어제 오후 + 오늘 오전해서 python으로 XML 파싱해서 뭔가를 하는 작업을 했습니다. 사실 lua로 시작했지만 SAX/SAX-like는 자유도가 떨어져서 DOM이 구현되어 있는 python으로 구현하게 되었습니다.(사실 제가 사용한 xml.dom.minidom도 DOM spec. 1까지만 구현되어 있습니다. Spec. 2의 기능을 쓰려면 PyXML을 받아야합니다.)

그래서 작업을 마치고 하나로 합치려고 팩키지 간의 의존성을 확인하는데, 대충 평소에 많이 쓰던 애들과 python 자체의 근간이 되는 것들이 포함되고 – 예를 들어 copy, copy_reg, types.py등, xml관련된 대부분의 팩키지들이 포함됩니다.(여기까지해서 20kb정도)

그리고 마지막 의존성이 Expat이었는데, 이건 expat.pyd를 참조해서 용량이 좀 큰데(13x kb정도) 뜯어봤더니 앞쪽에 익숙한 문자가 들어있습니다. ‘MZ어쩌구’, 그리고 중간의 ‘This program cannot be run in DOS mode.’ 구글 검색결과 Win32환경에서 .pyd는 .dll의 **“이름만 바꾼 버젼”**이라는 결과가.