<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Python Interpreter und c++]]></title><description><![CDATA[<p>Hey Leute,<br />
ich hab mal eine frage zur Nutzung vom Python Interpreter. Und zwar hab ich in meinem C++ code folgendes:</p>
<pre><code>void ExposDriver::RunDriver(ExposDriverModul *driver){
  //initalization of python interpreter
  Py_Initialize();

  //run python script
  PyRun_SimpleString(driver-&gt;getDriver());

  //close python interpreter
  Py_Finalize();
}
</code></pre>
<p>Nun würde ich gerne dem ausgeführten Python Script Daten mit übergeben. Also Daten von C++ in mein Python Script bekommen, um sie dort zu verarbeiten. Gibt es da eine Möglichkeit? Ich hab erst gedacht ich kann in meinem Python Script so etwas schreiben:</p>
<pre><code>import cache.h as c
print c.test(5, 3)
</code></pre>
<p>Aber import geht ja nur mit einer Lib. Wenn ich das richtig verstanden habe, kann der Interpreter nur das Python Scripte ausführen. Ich bin allerdings neu auf diesem Gebiet. Vielleicht hat ja jemand einen Tipp für mich. Benutzen tue ich Python 2.7 und bitte keine Boost Lösungen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>P.S.: Falls doch in das Python Forum Verzeigung.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320120/python-interpreter-und-c</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 09:43:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320120.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Sep 2013 08:19:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Python Interpreter und c++ on Tue, 17 Sep 2013 08:19:34 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
ich hab mal eine frage zur Nutzung vom Python Interpreter. Und zwar hab ich in meinem C++ code folgendes:</p>
<pre><code>void ExposDriver::RunDriver(ExposDriverModul *driver){
  //initalization of python interpreter
  Py_Initialize();

  //run python script
  PyRun_SimpleString(driver-&gt;getDriver());

  //close python interpreter
  Py_Finalize();
}
</code></pre>
<p>Nun würde ich gerne dem ausgeführten Python Script Daten mit übergeben. Also Daten von C++ in mein Python Script bekommen, um sie dort zu verarbeiten. Gibt es da eine Möglichkeit? Ich hab erst gedacht ich kann in meinem Python Script so etwas schreiben:</p>
<pre><code>import cache.h as c
print c.test(5, 3)
</code></pre>
<p>Aber import geht ja nur mit einer Lib. Wenn ich das richtig verstanden habe, kann der Interpreter nur das Python Scripte ausführen. Ich bin allerdings neu auf diesem Gebiet. Vielleicht hat ja jemand einen Tipp für mich. Benutzen tue ich Python 2.7 und bitte keine Boost Lösungen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>P.S.: Falls doch in das Python Forum Verzeigung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353115</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Tue, 17 Sep 2013 08:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to Python Interpreter und c++ on Tue, 17 Sep 2013 09:02:18 GMT]]></title><description><![CDATA[<p>Eine Möglichkeit ist die Daten einfach in das PythonScript rein zu schreiben.</p>
<pre><code>PyRun_SimpleString(getDaten() + driver-&gt;getDriver());
</code></pre>
<p>Eine andere ist sich mit pickle und unpickle auseinander zu setzen und die zu übergebenen Objekte per unpickle aus einer Datei zu holen. Das ist aber eher kompliziert. Du kannst auch die Daten als Pythonanweisung in eine Datei schreiben und dann per</p>
<pre><code>exec(datei.read());
</code></pre>
<p>die Daten bekommen. Ist natürlich sicherheitstechnisch eine Katastrophe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353123</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Tue, 17 Sep 2013 09:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to Python Interpreter und c++ on Tue, 17 Sep 2013 09:09:02 GMT]]></title><description><![CDATA[<p>nwp3 schrieb:</p>
<blockquote>
<p>Eine Möglichkeit ist die Daten einfach in das PythonScript rein zu schreiben.</p>
<pre><code>PyRun_SimpleString(getDaten() + driver-&gt;getDriver());
</code></pre>
<p>Eine andere ist sich mit pickle und unpickle auseinander zu setzen und die zu übergebenen Objekte per unpickle aus einer Datei zu holen. Das ist aber eher kompliziert. Du kannst auch die Daten als Pythonanweisung in eine Datei schreiben und dann per</p>
<pre><code>exec(datei.read());
</code></pre>
<p>die Daten bekommen. Ist natürlich sicherheitstechnisch eine Katastrophe.</p>
</blockquote>
<p>Danke erst einmal für deine Antwort.<br />
Zu deiner ersten Variante:<br />
Wenn ich die Daten da einfach mit rein schreibe kann das Script diese dann benutzen? Kannst du mir das vielleicht noch einmal näher erläutern.</p>
<p>Die anderen beiden Sachen lasse ich erstmal außen vor.</p>
<p>Ich hab grade noch das <a href="http://realmike.org/blog/2012/07/08/embedding-python-tutorial-part-1/" rel="nofollow">hier</a> gefunden. Das klingt nachdem was ich gesucht habe. Allerdings läuft das Beispiel noch nicht bei mir. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Bin für weitere Tipps dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353125</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Tue, 17 Sep 2013 09:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to Python Interpreter und c++ on Tue, 17 Sep 2013 10:14:39 GMT]]></title><description><![CDATA[<p>Beispiel: Ich will die Daten [42, 1, 4, 2] an python übergeben</p>
<pre><code>#Pythoncode:
for (i in daten): #daten ist nicht definiert
    tuwas(daten) #tuwas ist irgendwo definiert
</code></pre>
<pre><code>vector&lt;int&gt; daten = {42, 1, 4, 2};

string pythoncode = &quot;...&quot;; //enthält den pythoncode von oben
void pythonTuwas(const vector&lt;int&gt; &amp;daten){
    string d = &quot;daten = [&quot;;
    for (auto i : daten)
        d += to_string(*i) + &quot;,&quot;;
    d.pop_back(); //letztes komma weg
    d += &quot;]\n&quot;;
    PyRunScriptFromString(d + pythoncode); //hier bekommt der pythoncode die Daten vorgesetzt
}
</code></pre>
<p>Daten von python zurück zu C++ zu kriegen geht nicht so einfach, da muss man wohl mit Dateien/Sockets/SharedMemory hantieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353135</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Tue, 17 Sep 2013 10:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to Python Interpreter und c++ on Tue, 17 Sep 2013 14:15:55 GMT]]></title><description><![CDATA[<p>Im Prinzip kannst du doch von C++ auf alle Daten von Python zugreifen.<br />
<s>Für mehr Komfort nimm aber doch Boost.Python</s></p>
<p>Schreibe und Lese die Globals von Python.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2353184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2353184</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Tue, 17 Sep 2013 14:15:55 GMT</pubDate></item></channel></rss>