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.