Как передать аргументы ключевых слов Python с pybind11? - PullRequest
1 голос
/ 02 апреля 2019

С учетом этой функции: __init__(username, password, **kwargs) с этими аргументами ключевого слова:

  • auto_patch: исправление объектов API в соответствии с открытым API. По умолчанию: False

  • drop_incompat_key: Удалить ключи объекта API, которых нет в публичном API. По умолчанию: False

  • timeout: интервал ожидания в секундах. По умолчанию: 15

  • api_url: переопределить базу URL-адресов api по умолчанию

  • cookie: сохраненная строка cookie из предыдущего сеанса

  • settings: набор настроек предыдущего сеанса

  • on_login: обратный вызов после успешного входа в систему

  • прокси: укажите прокси, например: ‘http://127.0.0.1:8888’ (ALPHA)

  • 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 Ответ

0 голосов
/ 02 апреля 2019

Я нашел нужную документацию: https://pybind11.readthedocs.io/en/stable/advanced/pycpp/object.html

Я не могу проверить это, так как у меня возникают другие проблемы, но это то, что нужно.

...