Jython?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

Hallo,
Ihr habt sicher alle schonmal von Jython gehört und Jython vielleicht auch schon benutzt. Da ich mich nicht sonderlich hervorragend in Java auskenne und die Prinzipien dahinter frage ich einfach mal:

Wenn ich z.b mit Jython eine Python datei wie folgende:

Code: Alles auswählen

import mechanize
import BeautifulSoup

x = mechanize.Browser()
print x.open('http://www.google.de').read()
zu einer *.class Datei kompiliere (<- Ist das java bytecode?) Kann ich dann den Code auf jeder Maschine ausführen die Java installiert hat? Ich meine mein kompletter Python Code inklusive den Modulen muss dann ja zu Java Bytecode kompiliert worden sein.

Ich wollte das ursprünglich auch nur wissen weil ich für meinen Lieblingsfeedreader RSSOwl 1-2 Plugins schreiben wollte, und da dieser ja in Java geschrieben ist, und wie die Entwickler sagen unterstützt einfach *.java class Files als Plugins zu laden, warum dann nicht mit Jython?

Ich kann mir das aber irgendwie nicht vorstellen, das wäre ja "genial" ^^. Einfach Python Code nehmen zu Javabytecode kompilieren und auf jeder Java maschine laufen lassen...

MfG,
CracKPod

Ich wäre sehr froh über ein wenig Aufklärung.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Du musst nur "Jython" mitliefern...
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

audax hat geschrieben:Du musst nur "Jython" mitliefern...
Tut mir Leid, verstehe ich nicht. Wenn ich das vorher zu Java Code kompiliere dann sollte es doch auch ohne Jython laufen?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Interessant könnte wohl die jythonc-Dokumentation sein.

Und ja, in Class-Dateien ist Bytecode für die JVM drin.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Crazed: Es wird ja nur der Code, den Du zu Bytecode kompilierst in die `*.class` geschrieben. Da ist aber nicht die Python-Laufzeitumgebung enthalten. So Sachen wie `object`, `int`, der Code für ``print`` usw. muss ja auch irgend wo herkommen. Und natürlich die Standardbibliothek bzw. der Teil davon, den Jython mit liefert.
Antworten