【C++/Python】C++调用python文件

简介: 【C++/Python】C++调用python文件

C++如何调用Python?


在项目中,往往会遇到C++调用python文件的情况,如何配置VS,来运行一个简单的python例程呢?


一、VIsual studio配置

第一步:右键C++项目属性:

(1)VC++目录 --> 可执行文件目录 --> python的include路径

(2)VC++目录 --> 可执行文件目录 --> python的libs路径

第二步:配置 C/C++ --> 常规 --> python的include路径

第三步:配置 链接器 --> 附加库目录 --> python的include路径

二、使用步骤

1.编写python代码

main.py如下:

def printHello():
    a = 2
    b = 3
    print("a+b=", a + b)

将.py文件复制到工程目录下

2.编写c++代码

C++代码如下:

#include<iostream>
#include "Python.h"
int main()
{
  Py_Initialize();
  PyRun_SimpleString("import sys");
  PyRun_SimpleString("sys.path.append('./')");
  PyRun_SimpleString("import main");  // 导入py文件
  PyRun_SimpleString("main.printHello()");  // 调用python函数
  Py_Finalize();
  system("pause");
  return 0;
}

3.改变编译模式

编译模式改为release模式

4.运行


相关文章
|
4天前
|
IDE 开发工具 Python
python中SyntaxError: unexpected EOF while parsing(语法错误:解析时遇到意外的文件结束)
【5月更文挑战第14天】python中SyntaxError: unexpected EOF while parsing(语法错误:解析时遇到意外的文件结束)
24 6
|
1天前
|
Linux Python Windows
打包Python程序文件:pyinstaller实现
本文介绍基于Python语言中的pyinstaller模块,将写好的.py格式的Python代码及其所用到的所有第三方库打包,生成.exe格式的可执行文件,从而方便地在其他环境、其他电脑中直接执行这一可执行文件的方法。
|
3天前
|
Java C++ Python
C++ 使用getline()从文件中读取一行字符串
`getline()` 是 C++ 中 `istream` 类的一个方法,被 `fstream` 和 `ifstream` 继承,用于从文件中读取一行字符串。它有两种语法:一种是从文件读取 `bufSize-1` 个字符到 `buf` 直到 `\n`,另一种是读到指定分隔符 `delim`。如果文件中的字符数量超过 `bufSize`,会导致读取失败。示例代码展示了如何使用 `getline()` 读取和打印文件内容。通过循环调用 `getline()`,可以连续读取文件的多行数据。
10 0
|
5天前
|
安全 Python
Python 多进程日志输出到同一个文件并实现日志回滚
Python 多进程想要实现将日志输出到同一个文件中,使用同一个日志句柄,且日志需要按照日期,大小回滚。
|
5天前
|
存储 C++ iOS开发
C++ 文件和流
C++ 文件和流
9 0
|
5天前
|
存储 JSON 缓存
Python基础教程——文件I/O
Python基础教程——文件I/O
|
5天前
|
存储 人工智能 自然语言处理
Python编程实验五:文件的读写操作
Python编程实验五:文件的读写操作
14 0
|
5天前
|
存储 JSON JavaScript
Python文件和异常(二)
Python文件和异常(二)
16 0
|
5天前
|
存储 文件存储 Python
Python文件和异常(一)
Python文件和异常(一)
12 0
|
5天前
|
存储 文件存储 Python
Python基础 --- 实现学生管理系统(Python 文件版本)
Python基础 --- 实现学生管理系统(Python 文件版本)
22 4