Seite 1 von 1
Variable in Dateiname...
Verfasst: Donnerstag 27. April 2006, 15:35
von Vos
Hi leute,
ich hab volgenes problem,
Also, wenn der anwender in meinem Program ein neues Docoment erstellen möchte, wollte ich eine abfrage stellen wie die datei heißen soll.
ob xyz.txt
oder doch lieber zxy.txt
oder vieleicht zyx.py
Code: Alles auswählen
groesse = eSchritt1.get()
programm = file(r"blabla.txt", "a+")
also so funktioniert es... (er erstellt eine die datei blabla.txt)
jetzt möchte ich natürlich mit der Variable arbeiten. Ich habs schon probiert aber es will nicht
einige versuch von vielen:
und wenn das dan klappt wie kann ich dan den datentype festlegen?
also
ich freu mich auf viele gute antworten
Grüße und danke schonmal[/code]
Verfasst: Donnerstag 27. April 2006, 15:56
von murph
Was hälst du von join?
An jeden Datentyp wird vor dem Öffnen '.txt' angehängt,
Bei den Fehlermeldungen kann dann ja einfach über einige 'ifs'
eine korrekte eingegeben werden (damit der user nicht irritiert wird)
Verfasst: Donnerstag 27. April 2006, 16:02
von Vos
Sorry kannst du mir das ein wenig genau erklären? Mit nem kleinen Beispiel vieleicht! Wäre cooel!
Danke schonmal
grüße
Re: Variable in Dateiname...
Verfasst: Donnerstag 27. April 2006, 19:23
von Leonidas
Also du willst einfach einen Dateinamen mit einer Endung verketten?
Ja, schon fast:
Verfasst: Donnerstag 27. April 2006, 21:13
von murph
Das wird er notgedrungen tun müssen.
Ich denke, dass man sagt, dass '.txt' angehängt wird, und falls die Endung '.txt' mitgeschrieben wurde, dann nicht. Falls es die Datei ohne '.txt' aber mit einer anderen Endung gibt, dann je nach Laune abbrechen oder eine Warnmeldung ausgeben, aber trotzdem den Text ausgeben.
lil bit offtopic: Ich habe einmal Extra einen Pythoneditor geschrieben, weil ich auch Dateien mit Fehlerhaften Zeichen öffnen wollte (zb. windowsdateien, die einen Umlaut im Dateinnamen hatten etc.)
Re: Variable in Dateiname...
Verfasst: Donnerstag 27. April 2006, 21:40
von Michael Schneider
Vos hat geschrieben:
Code: Alles auswählen
groesse = eSchritt1.get()
programm = file(r"blabla.txt", "a+")
Hi Vos,
erstmal: das 'r' vor einem String gibt an, dass er als raw-String gewertet werden soll, d.h. dass die Zeichen so aufgenommen werden sollen, wie sie angegeben sind und beispielsweise "\n" als "\n" gewertet wird, nicht als Zeilenumbruch. Das funktioniert mit Variablen nicht (wäre ja sonst ein Teil des Variablennamens).
Vos hat geschrieben:
einige versuch von vielen:
Variablen muss man immer genau hinter dem String angeben, der die Platzhalter enthält. String und Variablen bilden quasi eine Einheit, als würdest Du eine Klammer darumsetzen.
Versuch mal eine der folgenden Möglichkeiten:
oder
Join bringt Dir nur etwas, wenn Du einen Pfad mit einem anderen Pfad oder Dateinamen verbinden willst, da es den Betriebssystemseparator berücksichtigt.
... ergibt unter Windows ".\pfad\datei.txt" und unter UNIX "./pfad/datei.txt"
Grüße,
der Michel
Verfasst: Freitag 28. April 2006, 13:18
von Vos
Danke euch allen.
Besonders Michael für seine eklärung.
Habe mich aber für Leonidas lösung entschieden.
Grüße
Verfasst: Dienstag 1. August 2006, 15:50
von Michael Schneider
Hi murph,
bitte entschuldige, ich habe erst jetzt gemerkt, dass Du die String-Methode join meintest, um die Zeichenketten zusammenzuhängen. Bin eben ein Spätzünder.
der Michel