printf in python
Ivan Illarionov
ivan.illarionov at gmail.com
Wed Jun 4 10:17:25 EDT 2008
On Wed, 04 Jun 2008 14:10:51 +0000, Ivan Illarionov wrote:
> On Mon, 02 Jun 2008 00:32:33 -0700, gianluca wrote:
>
>> Hy, I've a problem with may python library generated with swig from C
>> code. I works and I can access all function but a simèple function
>> that print a string don't work's.
>> The function is like this:
>> int PrintTEST()
>> {
>> printf("TEST ");
>> return 1;
>> }
>>
>> If I call the function (myDLL.PrintTEST() ) the function print only the
>> returned value, not the string "TEST". Could anybody help me?
>>
>> Thanks
>>
>> Gianluca
>
> Hi!
>
> Here's "Hello world" in Python C API:
>
> 1. create 'hello.c' file with the following content: #include <Python.h>
>
> PyObject*
> hello(PyObject* self)
> {
> printf("Hello world!\n");
> Py_RETURN_NONE;
> }
>
> static PyMethodDef functions[] = {
> {"hello", (PyCFunction)hello, METH_NOARGS}, {NULL, NULL, 0,
> NULL},
> };
>
> DL_EXPORT(void)
> init_hello(void)
> {
> Py_InitModule("_hello", functions);
> }
>
> 2. create 'buildme.py' file with this content: import os
> import sys
> from distutils.core import Extension, setup
>
> os.chdir(os.path.dirname(os.path.abspath(__file__))) sys.argv =
> [sys.argv[0], 'build_ext', '-i'] setup(ext_modules =
> [Extension('_hello', ["hello.c"])])
>
> 3. run "python buildme.py"
>
> That's all.
>>>> from _hello import hello
>>>> hello()
> Hello world!
>
>
> -- Ivan
Sorry, posted to the wrong thread.
More information about the Python-list
mailing list