C语言调用Python

本文详细介绍了如何在C语言中通过PythonAPI调用无参和有参的Python函数,涉及头文件引用、sys.path的使用以及Python对象的导入、调用和资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.直接调用python语句

头文件引用 

2.调用无参有参函数

1、调用无参函数

1.建立nopara.py文件

 2.使用c语言根据上面流程进行调用

2、调用有参函数 

1.建立nopara.py文件

 2.使用c语言根据上面流程进行调用


C语言调用python需要我们已经安装好了libpython3 dev依赖库,如果还没安装的可以看我之前的文档搭建python编译环境-CSDN博客

1.直接调用python语句

  • 头文件Python.h,这是Python API的头文件,用于访问Python对象和函数
  • Py_Initialize();函数初始化Python解释器
  • PyRun_SimpleString();函数可以执行一段简单的Python代码,例如打印"funny"。需要传递一个字 符串作为参数,表示要执行的Python代码,print ('funny')这么一个Python代码字符串。
  • Py_Finalize()函数关闭Python解释器,并释放资源。
#include "Python.h"
int main()
{
    Py_Initialize(); // 初始化
    PyRun_SimpleString("print ('happy')");
    Py_Finalize(); //释放资源
}

运行这个程序我们要使用以下命令进行编译(我的python版本是Python 3.10) 

gcc simpledemo.c -o simpledemo -I /usr/include/python3.10 -lpython3.10//编译
./simpledemo//运行

头文件引用 

/usr/include :Linux系统编程往往需要引用c头文件,linux下,头文件一般存储到/usr/include 

若头文件在此文件夹内,相对路径直接引入即可

#include<stdio.h>
#include<netient/ip.h>

若在其他文件夹,gcc编译需要声明-I指定路径 

gcc -I /usr/xxx/include yyy.c

 运行结果

2.调用无参有参函数

关于sys.path的用法及介绍可以看这篇博文

sys.path用法介绍-CSDN博客

1、调用无参函数

  1. 包含Python.h头文件,以便使用Python API
  2. 使用void Py_Initialize()初始化Python解释器,
  3. 使用PyObject *</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值