您的位置:首页 > 编程语言 > Python开发

在 C 代码中嵌入 Python 语句或使用 Python 模块 (Visual Studio 2013 环境设置)

2018-03-08 16:30 676 查看
1) 新建一个 内嵌 Python 语句的 C 代码,

// This is a test for check insert the Python statements or module in C.

#include "Python.h"

int main(void)
{
// execute python statements
Py_Initialize();
PyRun_SimpleString("import os");
PyRun_SimpleString("print os.getcwd()");
Py_Finalize();

return 0;
}


2) Visual Studio 2013 环境设置

  右键单击工程,选择 Properties,

  


  添加的 include 路径,

  


  复制重命名C盘 python27.lib 为 python27_d.lib

  


  Linker 的 Input 添加上述 lib 的路径,

  


  因为当前使用 64 位 Python,故修改编译平台为 x64,

  


  continue,

  


  之后编译即可。

3) C 中嵌入使用 Python 模块的语句,

  当前工程目录下建立一个 hello.py,

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def sayHi():
print 'Hi, How are you?'


  C 文件为,

// This is a test for check insert the Python statements or module in C.

#include "Python.h"

int main(void)
{
// execute python module
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('.')");
PyObject * pModule = NULL;
PyObject * pFunc = NULL;
pModule = PyImport_ImportModule("hello");
pFunc = PyObject_GetAttrString(pModule, "sayHi");
PyEval_CallObject(pFunc, NULL);
Py_Finalize();

return 0;
}


  

  之后编译即可。

  一般情况下,用 C 扩展 Python 的情况居多,即把 C 代码包装成 Python 接口,在主 Python 程序中使用,可以提升程序运行效率或是为了利用已有的C代码。

  而将 Python 嵌入 C 一般是为了利用 Python 中现成的模块或方法,比较少用。

  更多内容请阅读 Python 官方 Help 文档。

  

完。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: