#python #c #embed #pybind11
#python #c #Внедрить #pybind11
Вопрос:
Учитывая эту функцию: __init__(username, password, **kwargs)
с этими аргументами ключевого слова:
-
auto_patch: исправьте объекты api, чтобы они соответствовали общедоступному API. По умолчанию: False
-
drop_incompat_key: удалите ключи объекта api, которых нет в общедоступном API. По умолчанию: False
-
тайм-аут: интервал ожидания в секундах. По умолчанию: 15
-
api_url: переопределить базу URL-адресов api по умолчанию
-
cookie: сохраненная строка cookie из предыдущего сеанса
-
настройки: набор настроек из предыдущего сеанса
-
on_login: обратный вызов после успешного входа в систему
-
прокси: укажите прокси, например: ‘http://127.0.0.1:8888 ’ (АЛЬФА)
-
proxy_handler: укажите свой собственный обработчик прокси
Я хочу внедрить python в мое приложение на C с помощью pybind11. Как мне передать аргументы ключевого слова? Я так далеко:
#include <pybind11/embed.h> // everything needed for embedding
#include <iostream>
namespace py = pybind11;
int main()
{
py::scoped_interpreter guard{}; // start the interpreter and keep it alive
py::module calc = py::module::import("calc");
py::object result = calc.attr("__init__")("IGname", "IGpassword");
int i;
std::cin >> i;
}
Ответ №1:
Я нашел правильную документацию:https://pybind11.readthedocs.io/en/stable/advanced/pycpp/object.html
Я не могу это протестировать, так как у меня возникают некоторые другие проблемы, но это то, что нужно сделать.