This Frage existiert auf dieser Website, aber es fehlerhaft ist, da es eine gibt <type 'str'>
(beide bei der Verwendung von __file__
und wenn das Modul inspect
verwenden) und keine <type 'unicode'>
, die ich brauche, wie mein Pfad enthält nicht ASCII-Zeichen (hebräische Zeichen, um genau zu sein).Erster Unicode-Pfad des laufenden Skript
Wie kann ich den Pfad und den Dateinamen des aktuell ausgeführten Skripts in <type 'unicode'>
in der Dateisystemcodierung abrufen? Gibt es irgendeine Unicode-freundliche Funktion, die dafür oder irgendeine Lösung eingebaut wird?
Nur Aufruf __file__.encode(sys.getfilesystemencoding())
schlägt mit ascii codec can't decode byte ...
fehl.
Es macht jetzt alles Sinn! Vielen Dank – Jonathan
@ Jonathan: Hinweis: Der Fehler in Ihrer Frage ist wegen '.encode()' Methode versucht * zu decodieren * Ihre Bytestring mit 'sys.getdefaultencoding()' (das sollte auf Python 2 ASCII sein) vor Kodieren Sie es mit 'sys.getfilesystememoding()', das für darstellbare Zeichen funktioniert (unter Linux sollten Ihre lokalen Einstellungen korrekt sein). – jfs