Wie übergebe ich Pythons keyword-Parameter?

Spixmaster528

Cadet 1st Year
Registriert
März 2019
Beiträge
13
Gegeben ist diese Funktion:
Code:
__init__(username, password, **kwargs)
mit folgenden keyword-Parametern:
  • auto_patch: Patch the api objects to match the public API. Default: False
  • drop_incompat_key: Remove api object keys that is not in the public API. Default: False
  • timeout: Timeout interval in seconds. Default: 15
  • api_url: Override the default api url base
  • cookie: Saved cookie string from a previous session
  • settings: A dict of settings from a previous session
  • on_login: Callback after successful login
  • proxy: Specify a proxy ex: ‘http://127.0.0.1:8888’ (ALPHA)
  • proxy_handler: Specify your own proxy handler
Ich will in meinem C++ - Programm Python mit pybind11 einbinden. Wie übergibt man nun die keyword-Parameter mit pybind11? So weit bin ich schon:
Code:
#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::eek:bject result = calc.attr("__init__")("IGname", "IGpassword");

    int i;
    std::cin >> i;
}
 
Zuletzt bearbeitet:
Danke @0x8100 ! Mich freut es immer, wenn mir geholfen wird, ein Problem zu lösen. Die ständigen Fehler können einen ziemlich deprimieren. Du hast sogar den richtigen Code geschrieben. Eine kompetentere Antwort kann es nicht geben.

Vielen, vielen Dank!
Mir machen diese permanenten Fehler zu schaffen.
 
gern geschehen, aber ich sehe jetzt erst, dass das forum wohl aus dem py::object ein py:eek:bject gemacht hat :)

heute morgen kam mir das zwar etwas komisch vor, hab mir aber nichts weiter bei gedacht. jetzt sehe ich, dass da ein smiley erkannt und ersetzt wurde (:o -> :o).
 
Zurück
Oben