python commmand line params from c++

Denis S. Otkidach ods at
Thu Jun 30 17:07:36 CEST 2005

On 30 Jun 2005 07:52:04 -0700
"Wesley Henwood" <wesleyhenwood at> 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\\ param1 param2 param3";
> PyRun_SimpleFile(PyFile_AsFile( PyFile_FromString( path, "r")),
> "");

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, 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      [ru]

More information about the Python-list mailing list