C语言中执行python代码或源程序文件(高级嵌入方式)
2022/10/16 1:26:11
本文主要是介绍C语言中执行python代码或源程序文件(高级嵌入方式),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
环境:Fedora12 + Python2.6 + C
1. 建立python源代码文件(del.py):
#!/usr/bin/env python def calculate(expression): try: result = eval(expression) except: print("Eval Error!") return None return result if __name__ == "__main__": f = open("aa.log", "w") f.write("Hello world ") f.close() print("what can I do for you") expression = "2^(4+2)" result = calculate(expression) print(result)
2. 建立C源程序(a.c):
/* 功能:C程序中执行python代码或python源程序文件 */ #include <Python.h> int main() { int n = 0; char fname[] = "del.py"; FILE *fp = fopen(fname, "r"); // 打开python源码文件 if(fp == NULL) { perror("fopen"); return 1; } Py_Initialize(); // 初始化python解释器 n = PyRun_SimpleString("print(eval(2*6))"); // 执行python代码 printf("1. n = %d ", n); n = PyRun_SimpleFile(fp, fname); // 执行python文件 printf("2. n = %d ", n); Py_Finalize(); fclose(fp); return 0; }
3. 编写makefile文件
CC=gcc CFLAGS=-g BIN=a $(BIN): $(BIN).c $(CC) $(CFLAGS) -o $(BIN) $(BIN).c -I/usr/include/python2.6 -lpython2.6 clean: rm -f *.o $(BIN)
4. 编译运行
[zcm@t #87]$ls a.c del.py makefile socket [zcm@t #88]$make gcc -g -o a a.c -I/usr/include/python2.6 -lpython2.6 [zcm@t #89]$./a 1. n = 0 what can I do for you 2. n = 0 [zcm@t #90]$ls a aa.log a.c del.py makefile socket [zcm@t #91]$cat aa.log Hello world [zcm@t #92]$
说明:这个代码演示的是python代码高级嵌入方式!
这篇关于C语言中执行python代码或源程序文件(高级嵌入方式)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享