c++調用python list

2.py

def data():
    da=range(1,100);
    return da
#print data()

2.cpp

#include <iostream>
#include <Python.h>
using namespace std;

int main(int argc, char* argv[])
{
//printf("pass\n");
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");  //dang qian lu jing

PyObject *pModule=PyImport_ImportModule("2");
PyObject *pFunc=PyObject_GetAttrString(pModule,"data");
PyObject *FuncValue=PyEval_CallObject(pFunc,NULL);

int a[99];
int LongList=PyList_Size(FuncValue);
for(int i=0;i<LongList;i++)
{
	PyObject *ListItem=PyList_GetItem(FuncValue,i);
	a[i]=PyInt_AsLong(ListItem);
}

for(int j=0;j<99;j++)
{
	cout<<a[j]<<endl;
}
Py_Finalize();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章