Ctypes

ctypes는 파이썬의 외부 함수 라이브러리다. 파이썬 2.5부터 기본으로 포함되어 있다. 윈도우의 DLL과 같은 동적 라이브러리에 있는 함수를 직접 호출할 수 있으며, 다양한 C 자료형을 다루기 위한 인터페이스를 제공한다. 이를 사용해 순수 파이썬 코드만으로 확장 모듈을 구현할 수도 있다.

 예제 
다음은 윈도 환경에서 msvcrt.dll의 printf 함수를 호출하는 예이다. 이미 존재하는 함수의 원형을 파이썬 환경에 적용해 고치는 예를 볼 수 있다.
>>> from ctypes import *
>>> printf = cdll.msvcrt.printf
>>> printf("hello world\n")
hello world
12
>>> printf.restype = None
>>> printf("hello world\n")
hello world

ctypes는 별도로 함수 원형을 지정하지 않아도 내부적으로 스택을 조사하여 함수의 원형을 확인하려 시도하며, 윈도 같은 환경에서는 세그먼트 위반 같은 치명적인 오류를 예외로 처리해 준다.
>>> cdll.msvcrt.strlen(None)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
WindowsError: exception: access violation reading 0x00000000

 외부 링크 
  ctypes 공식 홈페이지
  소스포지 프로젝트
 한국 파이썬 사용자 모임 위키의 관련 글

분류:파이썬