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
Längere Texte auslagern?
Warum kommen diese Texte dort vor? Hilfstext, Menüführung...? Und weshalb möchtest Du die auslagern? Um Deinen Code übersichtlicher zu halten?Kapf hat geschrieben:in meinem Programm kommen u. a. mehrere längere Texte vor.
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...'
Code: Alles auswählen
>>> import text
>>> print text.long
Boah, ist der lang ey...
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)

@Kapf: Das kommt darauf an was das für Texte sind. So ganz Allgemein würde ich JSON als Format vorschlagen.
@BlackJack
Welchen Vorteil hat das gegenüber einem Modul oder dem Einlesen einer Textdatei?
Welchen Vorteil hat das gegenüber einem Modul oder dem Einlesen einer Textdatei?
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)

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:
Es geht mir darum, dass der Code übersichtlich bleibt.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.
@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.
@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
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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)

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.
EDIT: Die Inhalte sind statisch.
@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
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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit
)

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.