PyRun_File / PyRun_String
Ulrich Huenemoerder
uhuenemoerder at hotmail.com
Mon Nov 8 16:41:59 EST 1999
Hello again,
if somebody wants to know, this is how I solved it....
(I found out I have to use compiler option /MD using Visual C++ 6.0, too,
else the program crashed)
Ulrich.
#
# /my/script/path/myTest.py
#
def doPrint():
print "called doPrint"
if __name__ == '__main__':
print "this is __main__"
# end of myTest.py
//
// /somewhere/else/main.cpp
//
void main(int argc, char **argv) {
/* variables */
PyObject *pdict;
Py_Initialize();
pdict = PyDict_New();
PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins());
// extend the searchpath
PyRun_String("import sys", file_input, pdict, pdict);
PyRun_String("sys.path.insert(0, '/my/script/path')", file_input, pdict,
pdict);
// import the script -> no need for PyRun_File !!!
PyRun_String("import myTest", file_input, pdict, pdict);
// call the function defined in myTest.py
PyRun_String("myTest.doPrint1()", file_input, pdict, pdict);
}
// end of main.cpp
More information about the Python-list
mailing list