Seite 1 von 1

Variablen im Dateinamen

Verfasst: Montag 21. März 2011, 15:02
von kleiner.epsilon
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.

Re: Variablen im Dateinamen

Verfasst: Montag 21. März 2011, 15:08
von 0x1cedd1ce

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.

Re: Variablen im Dateinamen

Verfasst: Montag 21. März 2011, 15:14
von sma
Oder so:

Code: Alles auswählen

foo = "bar%sbaz" % "qux"
foo = "bar{0}baz".format("qux")
Stefan

Re: Variablen im Dateinamen

Verfasst: Montag 21. März 2011, 15:23
von kleiner.epsilon
@0x1cedd1ce: Vielen Dank, das hat mir geholfen.

Re: Variablen im Dateinamen

Verfasst: Montag 21. März 2011, 15:28
von EyDu
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'