ASCII Zeichen automatisch hochzählen lassen

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
Lambert
User
Beiträge: 40
Registriert: Montag 20. Februar 2006, 09:32

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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Lambert
User
Beiträge: 40
Registriert: Montag 20. Februar 2006, 09:32

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.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Oder so (Achtung, evil!)

Code: Alles auswählen

 ["%%s%s" % dateiname % char for char in string.ascii_lowercase]
midan23
User
Beiträge: 147
Registriert: Sonntag 21. Mai 2006, 21:41
Wohnort: Müchen
Kontaktdaten:

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 ...
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten