导语:
本文主要介绍了关于c语言如何运行python脚本的相关知识,包括c语言调用python,以及geany怎么运行python这些编程知识,希望对大家有参考作用。
目前的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 ix 是什么意思?10/16
- ♥ python创建堆的方法有哪些01/13
- ♥ Python find() 方法:检查字符串是否包含子串12/21
- ♥ 实数是python数据类型吗?09/15
- ♥ python如何导入pandas09/10
- ♥ 使用 Dockerfile 在 python 中构建图像11/29
内容反馈