python commmand line params from c++
Denis S. Otkidach
ods at strana.ru
Thu Jun 30 11:07:36 EDT 2005
On 30 Jun 2005 07:52:04 -0700
"Wesley Henwood" <wesleyhenwood at hotmail.com> wrote:
> What is the proper way to pass command line parameters to a python
> script called from C++? I'm tryng this:
Have you tried PySys_SetArgv?
> path = "c:\\someDir\\someScript.py param1 param2 param3";
> PyRun_SimpleFile(PyFile_AsFile( PyFile_FromString( path, "r")),
> "someScript.py");
This code looks strange: you open file and create Python file object
from its descriptor (PyFile_FromString), then get descripto back
(PyFile_AsFile) to pass it to PyRun_SimpleFile. Why don't you just use
C fopen function?
> I'm getting a "format error someScript.py, line 1" when the code is
> executed.
>
> Note: The strange appearannce of the 3 python function calls nested is
> not a bug, but required to prevent a run-time error.
I believe it's due to PyFile_FromString failing to open non-existent
file. You must check return value of it.
--
Denis S. Otkidach
http://www.python.ru/ [ru]
More information about the Python-list
mailing list