2011-07-02 4 views
2

c-api에서 이름으로 파이썬 함수를 호출하고 싶습니다. 그런 다음 파이썬 객체 목록을 인수로 사용하여 함수를 호출 할 것입니다.C-API에서 이름으로 파이썬 함수를 호출하는 방법은 무엇입니까?

파이썬 문서에서 필자가 파이썬 인터프리터에서 "호출 가능"객체를 얻는 방법은 분명하지 않다. 인수로 내 PythonObject 년대와 함수를 호출하는 기능

  • 에서 주소를 얻기

    1. :

      어떤 도움

      은에 감사.

    저는 개발을 위해 Python 2.x 시리즈를 사용하고 있습니다.

  • +0

    관련 항목 : http://stackoverflow.com/questions/4342560/python-c-api-call-a-python-function-with-arguments-passed-by-reference –

    답변

    3

    기본적으로 Python C API를 사용하여 함수가 들어있는 모듈을 가져온 다음 함수에 대한 모듈 사전을 쿼리합니다. 파이썬 코드가 어딘가에서 함수를 호출 할 때 파이썬 런타임이 내부적으로 수행하는 것과 거의 비슷합니다.

    API에서 볼 수있는 관련 기능은 PyImport_ImportModule, PyModule_GetDict, PyDict_GetItemPyObject_CallXXX 계열의 기능입니다.

    +0

    빠른 응답을 보내 주셔서 감사합니다. 메인 모듈을 어떻게 얻을 수 있습니까? – Juan

    +0

    __main__ 모양입니다. – Juan

    +0

    그는 '__main__'을 의미합니다. – bukzor

    관련 문제