Längere Texte auslagern?

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
Kapf
User
Beiträge: 13
Registriert: Sonntag 30. September 2012, 15:08

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
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@Kapf: Das kommt darauf an was das für Texte sind. So ganz Allgemein würde ich JSON als Format vorschlagen.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@BlackJack
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 ;-) )
Kapf
User
Beiträge: 13
Registriert: Sonntag 30. September 2012, 15:08

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.
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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Kapf
User
Beiträge: 13
Registriert: Sonntag 30. September 2012, 15:08

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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich nehme mal stark an, dass für den Fall des OP ein Python-Modul die richtige Lösung ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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