Hi guys,

I am pretty new to Python and to embedding it in C.
Here is what I am trying to accomplish:

I have a C program that accepts user input, which can be
a Python script which includes functions defined by the user line by
line as typed in. Let me show the code that I have:

#include "Python.h"


main(int argc, char **argv)
{
        
        
        // Pass argv[0] to the Python interpreter 
        Py_SetProgramName(argv[0]);

        // Initialize the Python interpreter.  Required. 
        Py_Initialize();


        // Define sys.argv.  It is up to the application if you
        // want this; you can also let it undefined (since the Python 
        // code is generally not a main program it has no business
        // touching sys.argv...) 
        PySys_SetArgv(argc, argv);

        PyRun_SimpleString("def fib(n):\n");
        PyRun_SimpleString("\t\ta, b = 0, 1\n");
        PyRun_SimpleString("\t\t\while b < n:n");
        PyRun_SimpleString("\t\tprint b,\n");
        PyRun_SimpleString("\t\t\a, b = b, a+bn");
        PyRun_SimpleString("fib(2000)\n");


        // Exit, cleaning up the interpreter 
        Py_Exit(0);

}

The code gives me the following:

  File "<string>", line 1
    def fib(n):
              ^
SyntaxError: unexpected EOF while parsing
  File "<string>", line 1
    a, b = 0, 1
    ^
SyntaxError: invalid syntax
  File "<string>", line 1
    while b < n:n
    ^
SyntaxError: invalid syntax
  File "<string>", line 1
    print b,
    ^
SyntaxError: invalid syntax
  File "<string>", line 1
    , b = b, a+bn
    ^
SyntaxError: invalid syntax
Traceback (most recent call last):
  File "<string>", line 1, in ?


Could anybody help me out by either pointing to a tutorial that deals
with this type of embedding to point out my mistakes in the code!

Thanks!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to