1、可以使用cython,编写api.pyx:

from libcpp.string cimport string
from libcpp cimport bool

cdef extern from "pyptapi.h" namespace "test":
    void init_log(const char *, const char *)

    cdef int test_pass(const string passwd)

import os
import sys
import time
import threading

def init_priv(passwd):
    return test_pass(passwd)

def _main(fname, exec_in_encrypted_env=False):
    return

然后调用命令:

cython --cplus api.pyx

生成api.cpp,使用api.cpp加入编译生成so库,在python中引用so库,并使用api.pyx中定义的函数即可

2、使用pybind,可以通过c++调用python