Seite 1 von 1

Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 14:29
von Kapf
Hallo,

in meinem Programm kommen u. a. mehrere längere Texte vor. Darum habe ich mir gedacht, dass es einfacher wäre, diese "auszulagern"? Welche Art von Textdatei würdet ihr dafür verwenden? INI, XML, .txt?

Danke im Voraus!
Kapf

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 14:59
von mutetella
Kapf hat geschrieben:in meinem Programm kommen u. a. mehrere längere Texte vor.
Warum kommen diese Texte dort vor? Hilfstext, Menüführung...? Und weshalb möchtest Du die auslagern? Um Deinen Code übersichtlicher zu halten?

Ohne jetzt näher zu verstehen, weshalb Du das machen möchtest, fällt mir zum Auslagern als erstes ein simples Modul ein...

Code: Alles auswählen

# -*- coding: utf-8 -*-
long = 'Boah, ist der lang ey...'
Angenommen, Du speicherst das unter dem Namen 'text.py' dann kannst Du das recht einfach in Deinem Code verwenden:

Code: Alles auswählen

>>> import text
>>> print text.long
Boah, ist der lang ey...
mutetella

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 15:16
von BlackJack
@Kapf: Das kommt darauf an was das für Texte sind. So ganz Allgemein würde ich JSON als Format vorschlagen.

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 15:29
von mutetella
@BlackJack
Welchen Vorteil hat das gegenüber einem Modul oder dem Einlesen einer Textdatei?

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 16:10
von Kapf
Ich habe ein Fenster mit mehreren Labels. Bei einem Klick auf eines der Labels öffnet sich ein weiteres Fenster, welches den Text enthält. Es handelt sich um "ganz normalen" Text. So was in der Art:
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Es geht mir darum, dass der Code übersichtlich bleibt.

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 16:57
von BlackJack
@mutetella: Ein Modul ist auf Python beschränkt und eine Textdatei ist ja erst einmal unstrukturiert, dass heisst man muss sich selber einen Struktur ausdenken und etwas zum Einlesen davon programmieren. Und bevor man sich selber etwas wie JSON oder XML ausdenkt und implementiert, kann man auch gleich etwas fertiges nehmen.

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 17:23
von mutetella
@BlackJack
Ok, über den "Pythonrand" hab' ich jetzt nicht geschaut... Ich glaube aber, dass es Kapf gar nicht wirklich um ein Format geht (auch wenn die Frage so gestellt war), sondern einfach um einen "Platz" für seine (statischen?) Fensterinhalte. Und da halte ich ein Modul immer noch für brauchbar. Oder?

mutetella

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 17:31
von Kapf
Ja, meine Frage war wohl wirklich etwas schlecht gestellt. Es muss nicht zwingend in einer Datei ausgelagert werden. Es sollte nur einigermaßen übersichtlich bleiben und leicht einzubinden sein.

EDIT: Die Inhalte sind statisch.

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 17:40
von mutetella
@Kapf
Nun ja, ein Modul ist letztlich nichts anderes als eine Textdatei die vom Pythoninterpreter eingelesen und ausgewertet wird. So wie JSON-Dateien nach 'JSON-Regeln', xml-Dateien nach 'XML-Regeln' und so weiter gelesen werden.

Wie gesagt, ich würde das in Deinem Fall mit einem Modul machen. Außer es spricht noch etwas dagegen, von dem ich nichts weiß. Aber dann wird sich hier sicher noch jemand rühren... *grins*

mutetella

Re: Längere Texte auslagern?

Verfasst: Freitag 12. Oktober 2012, 23:32
von Leonidas
Ich nehme mal stark an, dass für den Fall des OP ein Python-Modul die richtige Lösung ist.

Re: Längere Texte auslagern?

Verfasst: Samstag 13. Oktober 2012, 08:08
von snafu
Nach den bisherigen Informationen würde ich auch sagen: Modul, wo einfach die verschiedenen Texte jeweils an einen eigenen Namen gebunden untereinander drinstehen. So wie mutella es anfangs am Beispiel einer Zeile (bzw eines Textes) vorgeschlagen hat.