C-Programm in Python einbinden?

2 Antworten

Nun ja - ganz so einfach ist es nicht:

Es gibt prinzipiell zwei Möglichkeiten, C-Code in Python einzubinden:

Erstens:

Man kann C-Code tatsächlich in Python einbinden, indem man eine ".pyd"-DLL-Datei schreibt. (Annahme: du arbeitest unter Windows; bei anderen Betriebssystemen geht es aber ähnlich)

Mit dieser Methode kann man neue Befehle in Python hinzufügen, die selbst in C geschrieben sind.

Dazu muss man aber sowohl C als auch Python gut können.

Zweitens:

Man kann eine beliebige ".exe"-Datei ausführen und den Text, den das Programm ausgegeben hat, in eine Variable schreiben lassen.

Auch das ist nicht trivial - insbesonders dann, wenn die Ausgabe des Konsolenprogramms eine bestimmte Länge überschreitet...


hardrock14 
Fragesteller
 19.07.2015, 20:57

Danke für die Antwort, ich weiß, das es nicht so einfach ist aber wollte es halt mal ausprobieren :D

0

Du könntest du Funktionen deines C-Programms in eine Dynamische Bibliothek linken, und das Ganze dann von Python aus mit Hilfe des "ctypes" Moduls sehr bequem in Python laden und benutzen:

https://docs.python.org/3/library/ctypes.html

Oder du rufst dein C-Programm z. B. über check_output() des "subprocess" Moduls auf, und lässt dir den Text der Standardausgabe in einem Python String zurück geben.

Für Details lies dir einfach die entsprechenden API-Docs durch!

Viel Spaß! :)


hardrock14 
Fragesteller
 19.07.2015, 20:56

Danke, ich werde es mal ausprobieren!

0