Python API : constant variables & sub module creation

mg mg.mailing-list at laposte.net
Tue Sep 28 06:54:15 EDT 2004


Hi everybody...

I am using Python API in order to create bindings.
So, in the init function of my module, I create constants :

    PyMODINIT_FUNC initMyModule( void )
    {
       PyObject* module = Py_InitModule3( "MyModule", 0, "this is my 
module" ) ;
       if( ! module ) return ;

       PyObject* dict = PyModule_GetDict( module ) ;
       if( ! dict ) return ;

       long value = 0 ; // for the example
       PyObject* py_value = PyInt_FromLong( value ) ;
       char* name = "NULL" ;
       PyDict_SetItemString( dict, name, py_value ) ;
       Py_DECREF( py_value ) ;
    }

So, my first "problem" is that my module variable is mutable; I can 
write the following instruction in python :

    >>> import MyModule
    >>> null = MyModule.NULL
    >>> print null
    0
    >>> MyModule.NULL = 99
    >>> null = MyModule.NULL
    >>> print null
    99

Then, my question is : how can I implement a constant variable from the 
API ?

My second problem is that I would like implement my NULL variable in a 
sub module of my module in order to write the follow python syntax :

    >>> import MyModule
    >>> null = MyModule.MySubModule.NULL
    >>> print null
    0
   
Then, my question is : how can I do it ?

Thanks a lot,
Mathieu



More information about the Python-list mailing list