Python in C#

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Hi hi,

ich habe ein Python-Script geschrieben, das einwandfrei funktioniert. Allerdings habe ich ein Problem, wenn ich das Script in C# aufrufe ("no modul named os").

Woran kann das liegen?

Ich danke euch :)
lunar

@AOJ: Lies Deine eigene Frage mal, und überlege, ob Du mit einer so „ausführlichen“ Frage wirklich sinnvolle Antworten erhalten wirst.
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Verstehe ich das richtig: Du lässt ein Python-Skript in C# laufen und erwartest, dass das funktioniert?
deets

@snafu

Wohl kaum, aber IronPython sollte dir ein Begriff sein...
BlackJack

Es könnte aber auch sein, dass Python als externer Prozess gestartet wird. An dieser Stelle brauchen wir halt einfach mal ein paar präzisere Informationen von AOJ wie es denn nun zu diesem Meldung kommt…
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

deets hat geschrieben:Wohl kaum, aber IronPython sollte dir ein Begriff sein...
Schon, aber das ist irgendwie Glaskugel-Style. Ich gehe ernsthaft hier zunächst mal von dem aus, was da steht. Daher die naive Nachfrage...
deets

@snafu

Eben, genau das tue ich auch - und "no module named os" ist eine Python-Fehlermeldung ;) Und nicht C#...
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@deets: Hast schon recht. Mein Kopf ist im Moment größtenteils bei anderen Dingen als im Python-Forum. :?
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

Moin,

also ich formuliere meine Frage anders. Mit welchem C#-Befehel oder C#-Programm kann ich ein Python-Skript aufrufen?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ohne mich jetzt auszukennen: Wie oben erwähnt kannst du dein Python-Programm als externen Prozess starten oder ihn mittels IronPython einbinden.

Wie stellst du dir denn die Interaktion zwischen den Programmen vor? Willst du auf die Funktionen/Klassen zugreifen können? Oder reicht dir es, dein Skript zu starten und dann mit dem Ergebnis weiterzuarbeiten?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
AOJ
User
Beiträge: 21
Registriert: Sonntag 2. Oktober 2011, 13:27

es reicht schon, wenn ich den Skript starte.
Wie starte ich das Python-Programm als externer Prozess?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Vor allem ist das eine C#-bezogene Frage. Es ist ja Wurscht, ob du jetzt ein Bash-, Python- oder Ruby-Skript aus deinem C#-Programm heraus starten willst. Soll heißen, dass die Frage eigentlich besser in einem C#-Forum aufgehoben ist, wobei das simple Starten - sofern es denn auf Anhieb reibungslos funktioniert - sicherlich so trivial ist, dass man da durchaus einfach auf die Doku verweisen kann.
Newcomer
User
Beiträge: 131
Registriert: Sonntag 15. Mai 2011, 20:41

Also wenn du zb die shutdown.exe starten willst oder einfach andere sachen würde ich das verwenden :

Code: Alles auswählen

System.Diagnostics.Process.Start(System.Environment.SystemDirectory + "\\shutdown.exe" , "-s -t 10");
Nicht vergessen System.Diagnostics einzubinden (-:

mit "System.Diagnostics.Process.Start" startest du einen prozess.
Antworten