![图片[1]-c语言如何运行python脚本-uusu优素-乐高,模型,3d打印,编程](http://uusucn.zbbe.cn/wp-content/uploads/2024/01/5e69a68b68b2e457.jpg)
目前的C/C++与python的混合编程分为两大类:
1、使用python调用c/c++编写的扩展库,扩展python的功能,我们暂且称为python调用c/c++
2、使用c/c++程序调用执行python中定义的函数等,我们暂且称为c/c++调用python
本文只针对c/c++调用执行python作一方面的介绍,如有不正确的地方,还请诸位批评指正。
目前,主流的用法是把python作为一种文本形式的链接库,在c/c++程序中调用其中定义的函数,这方面的资料很多,本文就不在赘述了,本文重点介绍一种完整调用python脚本文件及参数的方法,闲话少说,上例子:
以下是测试用的python脚本文件,功能是输出命令行参数:sample.py
#!/usr/bin/envpython2.6 importsys deftest(): forarginsys.argv: printarg if__name__=='__main__': test()
以下是测试用的c++程序文件:test.c++
#include"python2.6/Python.h"
intmain()
{
//第一步:初始化Python
//在调用Python的提供的给C的API之前,通过执行初始化
//来添加Python的内建模块、__main__、sys等
Py_Initialize();
//检查初始化是否完成
if(!Py_IsInitialized())
{
return-1;
}
//第二步:导入sys模块
PyRun_SimpleString("importsys");
//第三步:导入执行脚本时的命令行参数,如:./sample.pyarg1arg2
PyRun_SimpleString("sys.argv['arg1','arg2']");
//第四步:执行调用脚本文件命令,注意文件的路径
if(PyRun_SimpleString("execfile('./sample.py')")==NULL)
{
return-1;
}
//第五步:关闭Python解释器
Py_Finalize();
return0;
}原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容