Variablen im Dateinamen

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
kleiner.epsilon
User
Beiträge: 25
Registriert: Sonntag 31. Oktober 2010, 14:31

Hallo,
ich würde gerne folgendes kürzer schreiben bzw. verallgemeinern:

Code: Alles auswählen

#inmy = '/wplan/examples/linear/in/wplaninmy.ini'
#inmyz = '/wplan/examples/linear/in/wplaninmyz.ini'
#wplaninmyz = 'wplan linear/in/wplaninmyz.ini'
inmy = '/wplan/examples/nichtlinear/in/wplaninmy.ini'
inmyz = '/wplan/examples/nichtlinear/in/wplaninmyz.ini'
wplaninmyz = 'wplan nichtlinear/in/wplaninmyz.ini'
Der Unterschied zwischen den oberen drei und den unteren drei Zeilen ist jeweils der Ordner 'linear' oder 'nichtlinear'.
Je nach Gebrauch wurden jeweils die oberen drei oder die unteren drei Zeilen einkommentiert. (wplan ist ein Programm).

Der Benutzer soll vorher einstellen, mit welchen Dateien (linear oder nichtlinear) das Programm laufen soll.
Meine Idee war folgende, wo jeweils die erste oder die zweite Zeile einkommentiert wird.

Code: Alles auswählen

ordner = /linear
#ordner = /nichtlinear

inmy = '/wplan/examples' ordner '/in/wplaninmy.ini'
inmyz = '/wplan/examples' ordner '/in/wplaninmyz.ini'
wplaninmyz = 'wplan' ordner '/in/wplaninmyz.ini'
Aber so funktioniert das leider nicht.

Welche Möglichkeiten gibt es da noch?
Über ein paar Tipps wäre ich sehr dankbar.
0x1cedd1ce
User
Beiträge: 31
Registriert: Sonntag 3. Oktober 2010, 12:21

Code: Alles auswählen

ordner = '/linear'
#ordner = '/nichtlinear'

inmy = '/wplan/examples' + ordner + '/in/wplaninmy.ini'
Strings fügst du mit + aneinander. Das heist ordner muss auch ein String sein.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Oder so:

Code: Alles auswählen

foo = "bar%sbaz" % "qux"
foo = "bar{0}baz".format("qux")
Stefan
kleiner.epsilon
User
Beiträge: 25
Registriert: Sonntag 31. Oktober 2010, 14:31

@0x1cedd1ce: Vielen Dank, das hat mir geholfen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wenn es sich um Ornder handelt, dann solltest du gleich die richtige Funktion verwenden:

Code: Alles auswählen

>>> os.path.join("/wplan/examples", "folder", "in/wplaninmy.ini")
'/wplan/examples/folder/in/wplaninmy.ini'
Das Leben ist wie ein Tennisball.
Antworten