Python Code in Datei rausschreiben und aus Datei einfügen

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.
BlackJack

Montag 12. März 2012, 12:01

@Khris: JSON kann auch Listen speichern (`json`-Modul in der Standardbibliothek).
Khris
User
Beiträge: 13
Registriert: Dienstag 17. Mai 2011, 11:33

Montag 12. März 2012, 13:00

Ich bastele gerade was mit ConfigParser, sollte funktionieren.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Montag 12. März 2012, 14:20

@Khris: Für "libRadtran" wollte ich auch schon länger eine Python Module schreiben. Leider in den letzten Jahren nicht die Zeit dafür gefunden. Wenn du da was auf die Beine stellt, würde mich das Ergebnis durchaus interessieren.

Zu den "input" Dateien, ist dir hoffentlich bewusst, dass libRadtran diese von "stdin" liest. Du brauchst also den Umweg über irgendwelche Eingabedateien nicht sondern kannst deine Befehle als String an "uvspec" senden. Schau dir dazu auch mal die Frage "How to implement loops in libRadtran?" in libRadtran FAQ an.

Grüße
Gerrit
Benutzeravatar
Hyperion
Moderator
Beiträge: 7477
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Montag 12. März 2012, 15:54

Khris hat geschrieben: Ich habe mir gerade das ConfigParser-Modul angeschaut, das schaut schon nach einer guten Richtung aus, aber es kann, soweit ich das sehe, keine Listen abspeichern, und ich brauche auch Listen.
Na dann nimm doch JSON :-)

Alternativ kannst Du es ja auch als Python-Modul belassen und dieses einfach per `import` in Deine anderen Module einbinden.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Montag 12. März 2012, 17:20

Ich hab hier mal ein Beispiel hochgeladen: https://github.com/gkuhl/pyradtran
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 13. März 2012, 04:33

Hyperion hat geschrieben:Alternativ kannst Du es ja auch als Python-Modul belassen und dieses einfach per `import` in Deine anderen Module einbinden.
Exakt! Das ist gültiger Python-Code, warum lagerst du ihn nicht aus und importierst in dann einfach dort wo du die Defintionen brauchst? Das sind doch Python-Grundlagen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Khris
User
Beiträge: 13
Registriert: Dienstag 17. Mai 2011, 11:33

Donnerstag 15. März 2012, 12:01

Erstmal hab ich mit ConfigParser dann doch genau das hinbekommen, was ich machen wollte, danke für die Tipps ansonsten.
gkuhl hat geschrieben:@Khris: Für "libRadtran" wollte ich auch schon länger eine Python Module schreiben. Leider in den letzten Jahren nicht die Zeit dafür gefunden. Wenn du da was auf die Beine stellt, würde mich das Ergebnis durchaus interessieren.

Zu den "input" Dateien, ist dir hoffentlich bewusst, dass libRadtran diese von "stdin" liest. Du brauchst also den Umweg über irgendwelche Eingabedateien nicht sondern kannst deine Befehle als String an "uvspec" senden. Schau dir dazu auch mal die Frage "How to implement loops in libRadtran?" in libRadtran FAQ an.

Grüße
Gerrit
Ich bin selbst mit an der Entwicklung einiger Komponenten von libRadtran beteiligt, die aber nicht frei zugänglich sind (d.h. das 3D Monte-Carlo-Modell mystic und Module die darauf aufbauen).
Für meine Zwecke habe ich es ganz gerne, wenn alle Input-Dateien und Konfigurationen von jeder Rechnung erhalten bleiben, so kann ich alles was ich gemacht habe, nachvollziehen und ggf wiederholen. Die Komponenten mit denen ich arbeite benötigen nämlich mehrere Inputfiles gleichzeitig, so dass es mehr Sinn macht, die Konfiguration dieser Files in einem Skript zu bündeln, daher habe ich das ConfigParser-Modul genommen, das eine zentrale Datei erstellt, die alles enthält und sich zur Wiederholung von Rechnungen einfach laden lässt.
Was machst du denn mit libRadtran?
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Donnerstag 15. März 2012, 18:59

@Khris: Im Moment benutze ich libRadtran gar nicht, habe es aber im Grundstudium verwendet. Im Moment arbeite ich mit Satellitenmessung (Ozone Monitoring Instrument) von NO2, SO2 und Aerosolen. Dafür brauche ein Radiative Transfer Model um Air Mass Faktoren zu berechnen. Nach meinem jetzigen Plänen, werde ich dafür aber wohl SCIATRAN benutzten. Von mystic kenne ich nur die Publikationen, die sehr interessant sind. Vielleicht habe ich in ein paar Jahren Zeit, mich damit näher zu beschäftigen.

Grüße
Gerrit
Antworten