Seite 1 von 1
file operation
Verfasst: Mittwoch 10. Oktober 2007, 15:03
von The Spirit
HI.
Ich werte gerade automatisiert logfiles aus.
Das Ergebnisfile soll jedoch zwei zwei Ordnerstrukturen höher liegen und dann in nen Ordner gepackt werden, der mittels einer Variable übergeben wird.
So sieht das bisher bei mir aus:
Code: Alles auswählen
ziel = open("..\..\" + temp + "\" logfile_1 + '_auswertung_test.xls', 'w')
Das klappt leider so noch nicht.
Und was mir zusätzlich noch fehlt, wäre eine überprüfung ob der Ordner in der Variable temp schon existiert. Wenn ja, dann file einfach reinschreiben, wenn nein, ordner anlegen.
Hoffe ihr habt ein paar Tips für mich.
Thx
Verfasst: Mittwoch 10. Oktober 2007, 15:19
von BlackJack
Wie Du am Syntaxhighlighting siehst, ist Deine Zeichenkette bei \" nicht zuende weil der Backslash eine besondere Bedeutung hat um Zeichen zu "escapen". Plattformunabhängig sollte es so gehen:
Code: Alles auswählen
import os
filename = logfile_1 + '_auswertung.xls'
path = os.path.join(os.path.pardir, os.path.pardir, 'temp')
try:
os.mkdir(path)
except OSError:
pass
ziel = open(os.path.join(path, filename), 'wb')
Verfasst: Mittwoch 10. Oktober 2007, 16:16
von The Spirit
thx
werd ich gleich mal testen
das mit dem \ hab ich schon gesehen. aber mehrere variationen haben keinen erfolg gebracht
Verfasst: Mittwoch 10. Oktober 2007, 16:52
von schlangenbeschwörer
Du musst den \ auch vor das zu escapende Zeichen schreiben. Wenn du Dann den String noch abschließen willst, haste halt \""
Code: Alles auswählen
ziel = open("..\..\"" + temp + "\"logfile_1" + '_auswertung_test.xls', 'w')
(ist einer der zwei letzten path-teile variabel?)
Verfasst: Donnerstag 11. Oktober 2007, 07:36
von The Spirit
schlangenbeschwörer hat geschrieben:Du musst den \ auch vor das zu escapende Zeichen schreiben. Wenn du Dann den String noch abschließen willst, haste halt ""
Code: Alles auswählen
ziel = open("..\.."" + temp + ""logfile_1" + '_auswertung_test.xls', 'w')
(ist einer der zwei letzten path-teile variabel?)
eigentlich sollte nur das temp variabel sein.
du meinst wegen dem + zwischen logfile_1 und _auswertung... ?
Verfasst: Donnerstag 11. Oktober 2007, 18:15
von schlangenbeschwörer
The Spirit hat geschrieben:du meinst wegen dem + zwischen logfile_1 und _auswertung... ?
Zumeinen wegen dem +, zum anderen wegen den Singlequotes.
Pfadnamen mit Leerzeichen sind ja auch seltener, vom ' ganz zu schweigen.
Verfasst: Mittwoch 20. Februar 2008, 21:51
von sea-live
ich habe damit auch schwirigkeiten
wie lege ich den pfad korekt an
Code: Alles auswählen
import os
path = os.path.join("C:\\boerse\\tecdax\\")
try:
os.mkdir(path)
except OSError:
pass
so geht das nicht
ausgabe ist
f = file("C:\\boerse\\tecdax\\%s.csv"%(symbol_liste[x]), 'w')
Verfasst: Mittwoch 20. Februar 2008, 23:23
von BlackJack
Was heisst so geht das nicht? Wieso wird der `OSError` einfach ignoriert? Wäre vielleicht interessant was da so als Nachricht in der Ausnahme steht, wenn sie ausgelöst wird.