目前的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/env python2.6 import sys def test(): for arg in sys.argv: print arg if __name__=='__main__': test()
以下是测试用的c++程序文件:test.c++
#include "python2.6/Python.h" int main() { //第一步:初始化Python //在调用Python的提供的给C的API之前,通过执行初始化 //来添加Python的内建模块、__main__、sys等 Py_Initialize(); //检查初始化是否完成 if (!Py_IsInitialized()) { return -1; } //第二步:导入sys模块 PyRun_SimpleString("import sys"); //第三步:导入执行脚本时的命令行参数,如:./sample.py arg1 arg2 PyRun_SimpleString("sys.argv['arg1','arg2']"); //第四步:执行调用脚本文件命令,注意文件的路径 if (PyRun_SimpleString("execfile('./sample.py')") == NULL) { return -1; } //第五步:关闭Python解释器 Py_Finalize(); return 0; }
推荐学习《Python教程》!
网站栏目:创新互联Python教程:c语言如何运行python脚本
本文URL:http://www.shufengxianlan.com/qtweb/news19/391819.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联