【c++】巧妙解决c++调用python程序的各种麻烦

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/C2681595858/article/details/99224879
  • 最近在写一些后端的代码,主要实现向指定邮箱发送验证码的功能。
  • 由于用c++写发送邮件的部分,代码比较繁琐,之前用python写过,使用第三方库,发邮件就几行代码的事情。
  • 所以想能不能用c++去调用python程序啊,百度一下果然可以,但是发现需要做一些工作,并且这种调用bug重重。
  • 所以想到下面这种办法。
  • 首先把python代码打包成可执行程序
  • 然后让c++去执行这个可执行程序,完美解决,省去了好多麻烦。
  • 具体示例如下:首先用python写一个helloworld.py,如下:
import sys
arg = sys.argv[1:]
if len(arg) < 1:
	print("argumen is less!")
	sys.exit(0)
name = arg[0]#从命令行读取参数
print("Hello",name)
sys.exit(0)
  • 然后把它打包成可执行程序helloworld。
    在这里插入图片描述

    • 如果提示找不到pyinstaller ,使用pip安装即可(pip install pyinstaller),安装后仍然提示,重启终端。
#include <iostream>
using namespace std;
int main()
{
    system("./helloworld XiaoMing");
	return 0;
}
  • 打包完了以后,在dist/下会多出一个helloworld,把它拿出来放到test.cpp同一目录下。
  • 然后再用c++(test.cpp)去调用它。

猜你喜欢

转载自blog.csdn.net/C2681595858/article/details/99224879