Seite 2 von 2
Verfasst: Donnerstag 18. Februar 2010, 23:07
von ABC
@...:hhmmm, das is mir neu! ».«:
Code: Alles auswählen
>>> print 'hallo welt'
hallo welt
>>> execfile('C:\Users\tmn\Desktop\hallowelt.py')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
execfile('C:\Users\tmn\Desktop\hallowelt.py')
IOError: [Errno 2] No such file or directory: 'C:\\Users\tmn\\Desktop\\hallowelt.py'
Verfasst: Donnerstag 18. Februar 2010, 23:26
von Rebecca
Verfasst: Freitag 19. Februar 2010, 00:39
von ...
Rebecca: Nach dem Traceback scheint es die '\' automatisch escaped zu haben...
Code: Alles auswählen
>>>import os.path as pth
>>>import os
>>>
>>>sep = os.sep
>>>liste = ['C:', 'Users', 'tmn', 'Desktop', 'hallowelt.py']
>>>
>>>print pth.isFile(sep.join(liste))
True
>>>
Würd ich mal vorschlagen... In der Hoffnung das das True True ist und nicht False...
Verfasst: Freitag 19. Februar 2010, 00:50
von Trundle
@...: Eben nicht. Beachte das "\t". Ein "U", "D" und ein "h" haben eben einfach keine spezielle Bedeutung in einer Escape-Sequenz, ein "t" dagegen schon.
Verfasst: Freitag 19. Februar 2010, 00:53
von ...
Oh ja! Jetzt fällt mir der fehlende Doppel-'\' vor tmn auch auf.
Naja - in meinem vorschlag hatte ich das aber brav alles gemacht, oder?
Alternativ könnte er auch ein r vor den String setzen, oder irre ich mich?
Bei nem raw-String gibts doch keine Escapes...
Oder auch einfach auf normale / umsteigen, welches bei Python ja grundsätzlich das Standart-Trennzeichen für Pfade ist...
Verfasst: Freitag 19. Februar 2010, 00:56
von EyDu
Hallo.
Da wird nichts automatisch gemacht. Der Unterschied liegt zwischen Ausgabe und Repräsentation:
Code: Alles auswählen
>>> spam="spam\\and\\eggs"
>>> print spam
spam\and\eggs
>>> spam
'spam\\and\\eggs'
Das aus "\D" eine "\\D" wird liegt daran, dass "\D" keine Escape-Sequenz ist. Daher wird der Backslash auch als ein solcher interpretiert. "\t" wird hingegen in einen Tabulator umgewandelt.
Sebastian
Sechs Stunden Zeitverzögerung kann ich übrigens jedem empfehlen. Man kann um 19 Uhr noch gemütlich in der Nacht arbeiten ^^
Verfasst: Freitag 19. Februar 2010, 01:06
von ...
Das selbe hat Trundle bereits gesagt...
Ich habe mein Versagen im Lesen zugegeben... du bist mal wieder 6 - Minuten - zuspät...
6 Stunden wäre mir echt zuviel... da wäre ich dann ja schon gegen 22 Uhr müde

Verfasst: Freitag 19. Februar 2010, 01:09
von EyDu
Ja, ich sollte die Unterhaltungen während des Schreibens eines Posts sein lassen

Verfasst: Freitag 19. Februar 2010, 02:00
von cofi
... hat geschrieben:Oder auch einfach auf normale / umsteigen, welches bei Python ja grundsätzlich das Standart-Trennzeichen für Pfade ist...
Nein? Wie kommst du denn darauf? Der Grund warum `/` unter Windows funktioniert ist, dass die Windows-API `/` wie `\` akzeptiert.
Es gibt im uebrigen `os.path.join` das muss man nicht ueber str.join und os.sep simulieren.