您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用参数运行python脚本

使用参数运行python脚本

似乎您正在使用Python.h中的python开发API寻找答案。这是一个适合您的示例:

#My python script called mypy.py
import sys

if len(sys.argv) != 2:
  sys.exit("Not enough args")
ca_one = str(sys.argv[1])
ca_two = str(sys.argv[2])

print "My command line args are " + ca_one + " and " + ca_two

然后通过C代码传递这些args:

//My code file
#include <stdio.h>
#include <python2.7/Python.h>

void main()
{
    FILE* file;
    int argc;
    char * argv[3];

    argc = 3;
    argv[0] = "mypy.py";
    argv[1] = "-m";
    argv[2] = "/tmp/targets.list";

    Py_SetProgramName(argv[0]);
    Py_Initialize();
    PySys_SetArgv(argc, argv);
    file = fopen("mypy.py","r");
    PyRun_SimpleFile(file, "mypy.py");
    Py_Finalize();

    return;
}

如果可以将参数传递给C函数,则此任务将变得更加容易:

void main(int argc, char *argv[])
{
    FILE* file;

    Py_SetProgramName(argv[0]);
    Py_Initialize();
    PySys_SetArgv(argc, argv);
    file = fopen("mypy.py","r");
    PyRun_SimpleFile(file, "mypy.py");
    Py_Finalize();

    return;
}

您可以直截了当。现在,为了节省时间,我的解决方案只使用了2个命令行参数,但是您可以对所有6个参数使用相同的概念…当然,还有更简洁的方法可以在python端捕获args,但是那只是基本的想法。

希望能帮助到你!

python 2022/1/1 18:49:43 有361人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶