C++中调用Python程序代码

我已经尽我所能确保信息的准确性,但是如果您发现任何错误或不准确的地方,请随时在评论区指出。我非常感谢您的反馈,这将帮助我改进我的内容。

1. Visual Studio配置

1.1 注意【配置】与【平台】

在项目属性中进行相关设置时,要注意【配置】与【平台】,你的设置是与其相对应的。更改了【配置】或【平台】之前的设置就会失效,需要重新对该【配置】或【平台】进行设置。
在这里插入图片描述

1.2 Python系统变量

增加系统变量PYTHON_HOME(已安装Python)
在这里插入图片描述

1.3 Visual Studio中的相应Python配置

将Python中相关库进行配置
在这里插入图片描述
在这里插入图片描述

2. 调用Python代码

int main(){
	// 初始化Python环境
	Py_Initialize();
	// 判断是否初始化成功
	if (!Py_IsInitialized()) {
    	return 0;
    }
	PyRun_SimpleString("import sys");
	// 文件路径使用双反斜杠(\\)可能会报错
	PyRun_SimpleString("sys.path.append('.py文件所在路径,例如:D:/pythondir')");
	PyObject* pArgs = NULL; // 方法参数,需要自己将C++对象转换为PyObject类型,并用PyTuple_Pack方法结合起来	
	PyObject* pModule = PyImport_ImportModule("python_file_name"); //导入模块
    PyObject* pFunc = PyObject_GetAttrString(pModule, "python_function_name"); //导入方法
    // 如果python程序内部报错,那么返回值是NULL;并且参数的传递顺序不能出错,不然也会返回NULL
    PyObject* pValue = PyObject_CallObject(pFunc, pArgs);
    Py_Finalize();
	return 0;
}
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值