Python-Code mit Java ausführen

smierx

Mitglied
Moin,
ich glaube ich bin zwar im falschen Forum, weiß aber auch nicht so recht wo es besser hinpasst.

Also ich habe ein ziemlich großes Programm mit dem Raspberry Pi in arbeit und mein "Hauptprogramm" ist in Java geschrieben aber für viele Sensoren(eigentlich alle) ist es sehr umständlich diese in Java zu schreiben, im Gegensatz zu Python.

Ich möchte also Python Code in mein Java Programm einbinden. Meine Frage nun wie mache ich das am besten?

Also Ideal fände ich es eine eigene Java Bibliothek zu schreiben in der in Modulen/Files der Python Code ebenfalls vorhanden ist und sich aufrufen lässt.

Hat jemand Ideen für mich?

Mit freundlichen Grüßen

Smierx
 

smierx

Mitglied
Etwas hat es mir weitergeholfen. Ich habe die jython Bibliothek in mein Projekt importiert.
Code:
import Adafruit_DHT

sensor = Adafruit_DHT.DHT22

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
Ist mein Python Code.

Ich will mit einer Java Klasse nun diesem Code die Variable pin übergeben und die Lutfeuchtigkeit/Temperatur erhalten
 

mrBrown

Super-Moderator
Mitarbeiter
MMn in dem Fall am einfachsten: das Python-Programm ganz normal (natürlich aus Java heraus) ausführen und mit diesem über Argumente/STDIN und STOUT kommunizieren.

In Java kannst du dafür ProcessBuilder nutzen, in Python einfach ganz normale ein/ausgabe
 

tommysenf

Top Contributor
Java:
public class Scripting {
  public static void main(String[] args) {
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("python");

    int pin = 4;
    engine.put("pin", list1);
    String code =
      "import Adafruit_DHT\n"
      + "sensor = Adafruit_DHT.DHT22\n"
      + "humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)\n";
    try {
      engine.eval(code);
      System.out.println(engine.get("humidity"));
      System.out.println(engine.get("temperature"));
    }
    catch (ScriptException se) {
      se.printStackTrace();
    }
  }
}
 

smierx

Mitglied
Danke @tommysenf
wo kommt list1 weg? also wenn ich den code kopiere fehlt die Variable
und beim ausführen der Methode(habe den code etwas umgeschrieben) bekomme ich etliche fehlermeldungen
Code:
 public void Scripting() {
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("python");
    String abc = null;
    int pin = 4;
    engine.put("pin", abc);
    String code =
      "import Adafruit_DHT\n"
      + "sensor = Adafruit_DHT.DHT22\n"
      + "humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)\n";
    try {
      engine.eval(code);
      System.out.println(engine.get("humidity"));
      System.out.println(engine.get("temperature"));
    }
    catch (ScriptException se) {
      se.printStackTrace();
    }
  }
@mrBrown Also das mit Input Stream funktioniert, wenn im python file die Variable angegeben ist.
Aber mir etwas die Methoden von Inputstream angeguckt aber komme nicht drauf wie ich dem file eine Variable übergeben kann wenn diese nicht in dem Python file initialisiert ist?
 

smierx

Mitglied
@tommysenf Dann spuckt er mir nur noch ImportError:No module Named Adafruit aus
muss ich das Modul evtl wo anders abspeichern als in meinem /home/pi wenn ich es so wie oben benutzen will?
 

mrBrown

Super-Moderator
Mitarbeiter
@mrBrown Also das mit Input Stream funktioniert, wenn im python file die Variable angegeben ist.
Aber mir etwas die Methoden von Inputstream angeguckt aber komme nicht drauf wie ich dem file eine Variable übergeben kann wenn diese nicht in dem Python file initialisiert ist?
In Java kannst du von einem InputStream nur lesen, das ist normal.
Du kannst aber dem Python-Skript beim Start Argumente übergeben (https://www.tutorialspoint.com/python/python_command_line_arguments.htm) oder einen OutputStream öffnen, und diesen aus Java füllen und in Python als Standardeingabe lesen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M Maven Wie gemeinsamen Code zwischen Projekten teilen? Tools - Maven, Gradle, Ant & mehr 0
R Maven woher gewusst, dass mein Java-Code commons-lang braucht? Tools - Maven, Gradle, Ant & mehr 0
4 Hilfe bei einem BB Code formatierer Tools - Maven, Gradle, Ant & mehr 4
B Ant Build File, wie ist der Java3D Native Code einzubinden? Tools - Maven, Gradle, Ant & mehr 6
S Applet Signieren, Vertrauenswürder und nicht-vertrauenswürdiger Code Tools - Maven, Gradle, Ant & mehr 16
T [MAVEN2] Wo Saple-code zur Lib platzieren? Tools - Maven, Gradle, Ant & mehr 9
M Code ausführen beim Browser schließen / Alternative zu stop? Tools - Maven, Gradle, Ant & mehr 5
J Code rennt als Applikation aber nicht als Applet? Tools - Maven, Gradle, Ant & mehr 3
P Code mit Frame in Applet umwandeln? Tools - Maven, Gradle, Ant & mehr 5
R Code beim Beenden eines Applets ausführen? Tools - Maven, Gradle, Ant & mehr 1
H Maven NetBeans Java Application ohne Manifest-Datei Tools - Maven, Gradle, Ant & mehr 7
B Kleines Werkzeug zum Anzeigen von Mehrfachvererbung mit Interfaces in Java Tools - Maven, Gradle, Ant & mehr 5
D Java Programm veröffentlichen am Besten modular Tools - Maven, Gradle, Ant & mehr 28
H Maven Verbindung Java Projekt und Jenkins Build job Tools - Maven, Gradle, Ant & mehr 21
Q Java Eclipse Fehlermeldung bei Installation Tools - Maven, Gradle, Ant & mehr 3
D Maven Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version Tools - Maven, Gradle, Ant & mehr 11
R Webstart Java 11 ohne Web Start Tools - Maven, Gradle, Ant & mehr 5
M Java mit Modulen kompilieren klappt nicht Tools - Maven, Gradle, Ant & mehr 9
R Java mitnehmen Tools - Maven, Gradle, Ant & mehr 14
W Java on Cloud - which Provider Tools - Maven, Gradle, Ant & mehr 0
B Java auf Smartcards?! Tools - Maven, Gradle, Ant & mehr 9
J Java App im Mac Store veröffentlichen Tools - Maven, Gradle, Ant & mehr 0
M Maven (Java EE, WAR) Eigener Buildschritt - Manipulation von Dateien Tools - Maven, Gradle, Ant & mehr 4
VfL_Freak Desktopverknüpfung über den Java-Cache erstellen Tools - Maven, Gradle, Ant & mehr 0
S New version released: Java Switcher for 1.8.0_112 and Windows x64 only Tools - Maven, Gradle, Ant & mehr 4
S Java 32 Bit and 64 Bit Switcher for Windows XX [64 Bit only] Tools - Maven, Gradle, Ant & mehr 0
F java.lang.ClassNotFoundException auf anderem Rechner Tools - Maven, Gradle, Ant & mehr 0
S Applet Java Testen - Ergebnis wird nicht angezeigt, nur leeres Feld Tools - Maven, Gradle, Ant & mehr 15
T Java Applikation an Clients verteilen Tools - Maven, Gradle, Ant & mehr 5
S Java Web Start wird nicht ausgeführt Tools - Maven, Gradle, Ant & mehr 1
J Applet Java fragt Verzeichnis ab Tools - Maven, Gradle, Ant & mehr 0
J Applet .java.policy und neue Javaversion Tools - Maven, Gradle, Ant & mehr 4
O Applet Selbstsignierte Applets in Java 7 Update 51 Tools - Maven, Gradle, Ant & mehr 19
M Was muss man installiert haben damit Java Applets im Browser gehen Tools - Maven, Gradle, Ant & mehr 2
T ClassNotFound erfordert ständiges Löschen des Java-Cache. Tools - Maven, Gradle, Ant & mehr 2
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
B Webstart Java Webstart hängt sich beim Laden auf! Tools - Maven, Gradle, Ant & mehr 8
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
ChrisX Java im Autostart sinnvoll? Tools - Maven, Gradle, Ant & mehr 4
HaukeG Maven Java Web-Application in Eclipse - Abhängigkeiten zwischen den Projekten Tools - Maven, Gradle, Ant & mehr 10
F [Java Webstart] Webspace gesucht... Tools - Maven, Gradle, Ant & mehr 6
M Java Application startet bei verschiedenen JRE's nicht Tools - Maven, Gradle, Ant & mehr 7
B Wie kann man unter Windows 7 file types mit Java Applikationen verknüpfen? Tools - Maven, Gradle, Ant & mehr 5
D Java mit .bat starten Tools - Maven, Gradle, Ant & mehr 1
S Java Applikation als Windows Service einrichten Tools - Maven, Gradle, Ant & mehr 23
C Aufruf eines Java Programms mittels ant MIT Parametern Tools - Maven, Gradle, Ant & mehr 2
P Java Applikation auf Server Tools - Maven, Gradle, Ant & mehr 7
schlingel Applet Java-Sicherheitswarnung wegen alter JRE-Version Tools - Maven, Gradle, Ant & mehr 13
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
W CVS Keine Verbindung zu cvs.dev.java.net möglich Tools - Maven, Gradle, Ant & mehr 5
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
J Webstart Grenzen von Java Webstart? Tools - Maven, Gradle, Ant & mehr 2
B Buckminster: Plugin Version in Java source File einfügen Tools - Maven, Gradle, Ant & mehr 4
T Ant ant-variable aus Java Tools - Maven, Gradle, Ant & mehr 4
F Ant ANT javac class-Dateien von entfernten JAVA-Klassen löschen Tools - Maven, Gradle, Ant & mehr 11
J Java Webstart beschleunigen und Verlauf anzeigen Tools - Maven, Gradle, Ant & mehr 3
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
S Probleme mit Kombination Java JApplet;MySQL;Webserver Tools - Maven, Gradle, Ant & mehr 3
nabla Einbinden von externen Java und C Bibliotheken Tools - Maven, Gradle, Ant & mehr 5
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
I In Java Applets drucken Tools - Maven, Gradle, Ant & mehr 2
D Java Webstart startet .jar file nicht Tools - Maven, Gradle, Ant & mehr 13
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
U Java Webstartproblem ab Version 1.6_11 Tools - Maven, Gradle, Ant & mehr 7
S Java Ant per Console starten Tools - Maven, Gradle, Ant & mehr 3
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
M Java Swing Anwendung als Webanwendung Tools - Maven, Gradle, Ant & mehr 6
Raidri Java Programme installieren Tools - Maven, Gradle, Ant & mehr 5
S Java Webstart Tools - Maven, Gradle, Ant & mehr 3
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
T Java Anwendung installieren Tools - Maven, Gradle, Ant & mehr 7
T Statistiken zur Verbreitung von Java Tools - Maven, Gradle, Ant & mehr 5
D Java-Anwendung mit Bildern (JPG) verfügbar machen Tools - Maven, Gradle, Ant & mehr 7
F Kleines Java-Programm geschrieben, 30 Dateien? Tools - Maven, Gradle, Ant & mehr 16
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
F Probleme mit Java WebStart; Hauptklasse konnte nicht gef. Tools - Maven, Gradle, Ant & mehr 18
J Java Applet bei mouseover mit Tooltip Tools - Maven, Gradle, Ant & mehr 3
M Autostart unter Windows für Java Aplikation Tools - Maven, Gradle, Ant & mehr 10
J ANT: run/java: NoClassDefFoundError Tools - Maven, Gradle, Ant & mehr 2
C chatProgramm in java Tools - Maven, Gradle, Ant & mehr 5
L Java Webstart Tools - Maven, Gradle, Ant & mehr 6
B Java-Applet startet nicht aus dem Browser Tools - Maven, Gradle, Ant & mehr 1
K Java-Applet Uhrzeit Tools - Maven, Gradle, Ant & mehr 2
T Java Applett: Rückwärtskompabilität Tools - Maven, Gradle, Ant & mehr 2
G JApplet parallel zu Java-Applikation entwickeln Tools - Maven, Gradle, Ant & mehr 11
H [gelöst] Java Stimmgerät bzw. Frequenzerzeugung gesucht Tools - Maven, Gradle, Ant & mehr 2
A RSS-Feeds auslesen mit JAVA speichern und Applet übergeben Tools - Maven, Gradle, Ant & mehr 2
D Java Web Start im Browser laufen lassen Tools - Maven, Gradle, Ant & mehr 10
W Java-Applet Funzt ned! Tools - Maven, Gradle, Ant & mehr 3
V dreieck ausfüllen (java) Tools - Maven, Gradle, Ant & mehr 6
M Java Security Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben