- 最近在写一些后端的代码,主要实现向指定邮箱发送验证码的功能。
- 由于用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
),安装后仍然提示,重启终端。
- 如果提示找不到pyinstaller ,使用pip安装即可(
#include <iostream>
using namespace std;
int main()
{
system("./helloworld XiaoMing");
return 0;
}
- 打包完了以后,在
dist/
下会多出一个helloworld
,把它拿出来放到test.cpp同一目录下。 - 然后再用c++(test.cpp)去调用它。