我希望能够从C语言中调用一个Python脚本,并传递一些脚本所需的参数。我想要使用的脚本是mrsync,或称为multicast remote sync。我已经通过命令行成功地调用了这个脚本:
这很好用。然而,我找不到如何将这些参数传递给
python mrsync.py -m /tmp/targets.list -s /tmp/sourcedata -t /tmp/targetdata
-m 是包含目标 IP 地址的列表。 -s 是包含要同步的文件的目录。 -t 是目标机器上将放置文件的目录。
到目前为止,我已经成功运行了一个 Python 脚本,使用以下 C 程序:
Py_Initialize();
FILE* file = fopen("/tmp/myfile.py", "r");
PyRun_SimpleFile(file, "/tmp/myfile.py");
Py_Finalize();
这很好用。然而,我找不到如何将这些参数传递给
PyRun_SimpleFile(..)
方法。
argc
,但我仍然会在自己构建的argv
末尾使用一个NULL
指针,就像标准Cargv
一样。 - Antti Haapala -- Слава Україні