naming the main module in embedded Python
burton at userful.com
Wed Sep 22 00:26:33 CEST 2010
Tomasz Koziara <t.koziara at civil.gla.ac.uk> writes:
> I am embedding Python as an interpret in my code. Now, whenever my
> code or Python itself issues an error/warning message I am getting
> something like:
> File "<string>", line 1, in <module>
> __main__:46: RuntimeWarning: My warning message
> I am using PyRun_SimpleString to load part of the code and the I call:
> sprintf (line, "execfile ('%s')", path);
> error = PyRun_SimpleString (line).
> The question is: how can I set up the module name or input file name
> so that my error/warning messages output them rather than the above
> default values?
Use this rather than execfile:
exec compile(code, filename, "exec")
You'll have to read the contents of the file into the string 'code'
first (unless compile will take a file object, which I'm not sure
More information about the Python-list