2016-07-03 2 views
1

참고 : 필자는 자바로 수년간 일 해왔다.하지만 파이썬을 처음 접했을 때 막연한 질문 일지 모르겠다. 나는 무언가를 만들기 위해 노력하고 있습니다.타사 Python 모듈에서 정보를 추출 하시겠습니까?

응용 프로그램 SDK 인 타사 Python 모듈을 사용하려고합니다. 파이썬 모듈은 기존의 레거시 C SDK를위한 래퍼입니다.

이 모듈에 대한 설명서는 기본적으로 포함 된 클래스 및 메소드의 목록으로, 메소드가 수행하는 작업 또는 기본 C 함수 호출과 관련된 방법에 대해 거의 설명하지 않습니다. (예를 들어, 파이썬 메서드가 5 개의 인수를 취하는 경우, 기본 C 함수는 6을 취합니다. 차이점이 무엇인지 또는 인수가 무엇인지 나타내지는 않습니다. 이것은 일반적입니다.)

가능한 방법이 있습니까? 이 컴파일 된 파이썬 모듈 (소스 코드는 제공되지 않음)을 조사하고 더 많은 정보를 수집 하시겠습니까? 그것은 일반적으로 네 가지 유형 중 하나입니다

>>> import <modulename> 
>>> <modulename> 

모듈에 대한 정보를 찾기위한 좋은 출발점이하는 것입니다

+0

C 함수가 첫 번째 인수로 은폐 데이터 형식을 사용하는 경우 Python은 대개이를 클래스 자체로 바꿉니다. –

+0

모듈이란 무엇입니까? – Aya

+0

@Aya - Lightwave 3D lwsdk 모듈입니다. 관심이있는 경우 여기에서 문서를 읽을 수 있습니다. http://static.lightwave3d.com/sdk/2015/python/index.html – user1071914

답변

3

...


1. 내장

>>> import sys 
>>> sys 
module 'sys' (built-in)> 

이들은 일반적으로 C로 작성되고 파이썬 인터프리터 바이너리로.


2. 도서관이 또한 일반적으로 C로 작성되어

>>> import parser 
>>> parser 
<module 'parser' from '/usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so'> 

동적으로로드하지만, 별도의 바이너리 파일에 저장됩니다. 일반적인 파일 확장자는 .pyd, .dll.so입니다.


3. 파이썬 모듈

>>> import socket 
>>> socket 
<module 'socket' from '/usr/lib/python2.7/socket.pyc'> 

이 적어도 부분적으로 파이썬으로 작성하고, 소스 코드는 일반적으로 즉, 파일 이름의 끝에서 /usr/lib/python2.7/socket.pyc을 제거하여 볼 수 있습니다 .

순수 파이썬에서는 할 수없는 일을하기 위해 파이썬으로 작성된 모듈은 다른 바이너리 모듈을 가져 오기 위해 꽤 일반적입니다. 예를 ...

>>> socket._socket 
<module '_socket' (built-in)> 

4. 파이썬 패키지

>>> import xml 
>>> xml 
<module 'xml' from '/usr/lib/python2.7/xml/__init__.pyc'> 

이 또한 적어도 부분적으로 파이썬으로 작성되어 있지만, 종종 파일 __init__.py이 비어, 소스 코드 동일한 디렉토리에있는 다른 파일, 즉 /usr/lib/python2.7/xml에 포함되어 있습니다.

관련 문제