在C语言中如何嵌入python脚本

最近在写配置文件时,需要使用python脚本,但脚本是一个监控作用,需要它一直驻留在linux中运行,想起C语言中能够使用deamon函数来保留一个程序一直运行,于是想到写一个deamon,并在其中嵌入python脚本。

上网查一下,发现确实有办法做到,下面亲测有效:

#include <Python.h>
#include <stdio.h>

int main()
{
  Py_Initialize();
  PyRun_SimpleString("print ‘Hello Python!‘");
  Py_Finalize();

  return 0;
}

在编译的时候需要注意

gcc -I/usr/include/python2.7 -lpython2.7 test.c -o test

直接运行编译出来的就OK了。

Py_Initialize()和Py_Finalize()就是初始化和结束python解释器,PyRun_SimpleString()就在运行一段python语句。

时间: 2024-07-30 13:47:56

在C语言中如何嵌入python脚本的相关文章

freeswitch嵌入python脚本

操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 python版本:2.7.9 开启python模块 安装python lib库 apt-get install python-dev 编辑modules.conf,开启python模块: languages/mod_python 编译安装: ./configure && make && make install 在modules.conf.xml中开启python支持: 启动freeswitc

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/

2018-11-25随笔-今天谈谈C++嵌入Python脚本中遇到的问题

由于现在很多底层协议用C/C++,然后机器学习或者深度学习等算法模型使用基于Python的TensorFlow来实现.所以现在C++用来做框架,做软件界面,然后调用Python的算法脚本来进行计算是很常见的需求. 我们的项目中也存在着这样的需求.下面来记录一下相应的实现方式. 背景:C++上用MFC做界面,Python上是import了numpy与pandas模块的处理功能(后续的基于sklearn与TensorFlow的脚本还没嵌入,配置方式相同,后续实验会再放上来) 软件配置:win10/6

[转]在Xcode中编辑运行 Python 脚本

http://www.zhihu.com/question/19872198 打开Xcode,File->New->Project选中OS X下的Other点击External Build System 然后Next.Build Tool填写你的python解释器,如/usr/bin/python创建工程后,File->New->File->OS X->Other ->Empty->Next.创建好后,点选菜单栏Product->Edit Scheme

利用ngx_python模块嵌入到Python脚本

导读 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. ngx_python 是为 nginx 嵌入 python 脚本的模块. 环境 - python 2.7.* - nginx-1.6.3+ 安装 git clone https://github.com/rryqszq4/ngx_python.git wget 'http://nginx.org/d

shell脚本中执行python脚本并接收其返回值的例子

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码代码如下: def main():    print "Hello" if __name__=='__main__':    main()world.py def main():    print "Hello" if __name__=='__main__':    main() shell 脚本 test.sh

py2exe打包python脚本

在工作中遇到将python脚本转换成exe可执行程序的需求,通过查询可以使用py2exe来构建满足要求的程序,这里简要说明一下使用步骤. 一.py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序. 二.可以从http

在arcgis使用python脚本进行字段计算时对中文的处理方案

一.引言 在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作.由于最近一直在学python脚本,刚好又碰上一好基友需要我的助攻(使用arcgis制图),这就用上了.本以为能够轻松搞定的,没想到搬石头砸脚了,下面就来说我是如何被砸脚的吧. 二.问题描述:将test字段中值为“湖南”的变为“湖南省”. 这个逻辑是相当的简单,使用python写一个对应的方法为:

Sublime Text 2 运行 Python 脚本中文路径解决方法

在 SublimeText 中直接运行 Python 脚本,出现以下报错提示: Running python -u C:\Documents and Settings\Administrator\桌面\furl.py Traceback (most recent call last): File ".\sublime_plugin.py", line 340, in run_ return self.run(**args) File ".\exec.py", lin