Seite 1 von 1

ASCII Zeichen automatisch hochzählen lassen

Verfasst: Dienstag 22. August 2006, 08:36
von Lambert
Hallo zusammen,

Ich hab da ein kleines ASCII Problem. Ich muss mir Dateien erzeugen lassen die mit den Buchstaben in alphabetischer Reihenfolge beginnen. Das heißt wenn ich mit einem File beginne das z.B. 'lambert.src' heißt dann sollen da files angehengt werden mit den Namen 'alambert.dat', 'blambert.dat', 'clambert.dat' usw. die genaue Anzahl der *.dat ist erst zur Laufzeit bekannt. Deshalbt dachte ich mir ich mache es mit ASCII Zeichen. Ungefähr so:

Code: Alles auswählen

'\%slambert'%(i) #Nummer des ASCII-Zeichen in Dez
Wäre euch sehr verbunden.
Gruß lambert

Re: ASCII Zeichen automatisch hochzählen lassen

Verfasst: Dienstag 22. August 2006, 09:08
von gerold
Lambert hat geschrieben:die mit den Buchstaben in alphabetischer Reihenfolge beginnen.
Hi Lambert!

So bekommst du eine Liste mit den Dateinamen von a bis z:

Code: Alles auswählen

[ "%slambert.dat" % char for char in string.ascii_lowercase ]
Daraus holst du dir einfach so viele du brauchst.

mfg
Gerold
:-)

Verfasst: Dienstag 22. August 2006, 13:38
von Lambert
Leider muss ich dazu noch eine dumme Frage stellen. Wie kann ich es denn nun machen das der Dateiname aus einer Variablen kommt.
Ich probierte:

Code: Alles auswählen

[ "%s%s" % (char for char in string.ascii_lowercase, dateiname) ]
Das hat aber leider nicht funktioniert.

Verfasst: Dienstag 22. August 2006, 13:48
von gerold
Lambert hat geschrieben:Wie kann ich es denn nun machen das der Dateiname aus einer Variablen kommt.
Z.B. so:

Code: Alles auswählen

s = "%slambert.dat"
[ s % char for char in string.ascii_lowercase ]
mfg
Gerold
:-)

Verfasst: Dienstag 22. August 2006, 20:15
von Joghurt
Oder so (Achtung, evil!)

Code: Alles auswählen

 ["%%s%s" % dateiname % char for char in string.ascii_lowercase]

Verfasst: Dienstag 22. August 2006, 20:36
von midan23
Joghurt hat geschrieben:Oder so (Achtung, evil!)

Code: Alles auswählen

 ["%%s%s" % dateiname % char for char in string.ascii_lowercase]
evil ... im wahrsten Sinne des Wortes ...

Wie wäre es damit:

Code: Alles auswählen

("%s%s" % (char, dateiname) for char in string.ascii_lowercase)
Info:
Dank der runden Klammern wird keine Liste generiert ... sondern man erhält einen Generator, der die einzelnen Dateinamen erst erzeugt, wenn sie benötigt werden.
Bei so einer kleinen Liste bringt das vielleicht nicht viel, aber wenn sie länger wäre ...

Verfasst: Mittwoch 23. August 2006, 07:15
von jens
Nur nochmal zur klarstellung, obwohl es midan23 eigentlich schon aufgezeit hatte:
Joghurt hat geschrieben:Oder so (Achtung, evil!)

Code: Alles auswählen

 ["%%s%s" % dateiname % char for char in string.ascii_lowercase]
Was daran evil ist ist das:

Code: Alles auswählen

"%%s%s" % dateiname % char
Denn das würde normalerweise so aussehen:

Code: Alles auswählen

"%s%s" % (dateiname, char)