如何在visual studio里面调用python代码

前言

最近经常会遇到这样一个case:在visual studio里面需要将某个二维数组保存成numpy文件或者反过来,需要将某个numpy文件load成mat数组。这里面涉及到在visual sutdio里面如何调用python脚本来实现前面提到的功能。

visual studio配置python环境

包含目录添加python的include路径

 库目录添加python库路径:

 环境变量添加python路径:

python脚本

在visual studio里面调用python脚本里面的函数之前,需要先把python脚本内容准备好,其实就是一系列功能函数的实现,如下图所示是numpy_file.py里面的内容。

import numpy as np
import os

def save_to_right_mapy_file(np_array):
    #print("shape of np_array", np_array.shape)
    np.save('./right/mapy.npy', np_array)
	
def load_numpy_file(np_file):
	return np.load("./disparities_pp.npy")
	#return np.load(np_file)

python初始化代码

主要用来初始化python系统,并加载python代码文件

	/*初始化Python
	在使用Python系统前,必须使用Py_Initialize对其
	进行初始化。它会载入Python的内建模块并添加系统路
	径到模块搜索路径中。这个函数没有返回值,检查系统
	是否初始化成功需要使用Py_IsInitialized。*/
	Py_Initialize();
	import_array();

	// 检查初始化是否成功
	if (!Py_IsInitialized())
	{
		return -1;
	}

	PyRun_SimpleString("import sys");
	PyRun_SimpleString("sys.path.append('./')");

	s_pModule = PyImport_ImportModule("numpy_file");
	if (s_pModule == NULL)
	{
		return -1;
	}
	s_pDict = PyModule_GetDict(s_pModule);
	if (s_pDict == NULL)
	{
		return -1;
	}

python功能函数的调用

前面步骤做好后,就可以在visual studio实现对python脚本里面的函数进行调用。

下面代码演示的是对save_to_right_mapy_file()的调用。

	/*Pass by Python Array: Transform an C Array to Python Array*/
	npy_intp Dims[2] = { matrix.rows, matrix.cols };
	
	
	s_pPyArray = PyArray_SimpleNewFromData(2, Dims, NPY_FLOAT, (float *)matrix.data);


	PyObject *ArgArray = PyTuple_New(1);
	PyTuple_SetItem(ArgArray, 0, s_pPyArray);
	PyObject *pFunc = nullptr;

	
	pFunc = PyDict_GetItemString(s_pDict, "save_to_right_mapy_file");

	if (pFunc == nullptr)
	{
		return -1;
	}
	PyObject_CallObject(pFunc, ArgArray);

	//Release
	Py_DECREF(ArgArray);

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Visual Studio调用Python可以通过以下步骤完成。首先,确保你的Visual Studio已经安装了Python开发工具。然后,打开Visual Studio创建一个新项目或打开一个已有项目。接下来,在解决方案资源管理器中右键点击你的项目,选择"属性"选项。在属性页面中,选择"常规"选项卡,在"项目默认值"下拉菜单中选择"常规"。在右边的"项目默认值"框中,找到"开发工具集"选项,选择你安装的Python版本。然后,点击"确认"保存更改。现在你就可以在Visual Studio调用Python了。你可以使用`py::module`和`py::object`类来调用Python函数和对象。使用`py::module`类可以导入你的Python脚本,并使用`py::object`类来调用脚本中的函数。通过这种方式,你可以在Visual Studio中实现对Python脚本的调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [如何在visual studio里面调用python代码](https://blog.csdn.net/ltshan139/article/details/106246590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [VS C++调用python、opencv + 深度学习实例](https://blog.csdn.net/qq_44811719/article/details/126320125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltshan139

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值