ich habe folgendes Beispiel:
Code: Alles auswählen
from time import strftime
tmt = strftime("%a, %d %b %Y %H:%M:%S")
Wie bekomme ich deutsche Wochentage
Code: Alles auswählen
from time import strftime
tmt = strftime("%a, %d %b %Y %H:%M:%S")
Code: Alles auswählen
d = {schluessel1 : wert1 , schluessel2 : wert2 , ...}
Code: Alles auswählen
d = {'Sun':'Sonntag','Mon':'Montag','Tue':'Dienstag',...}
Code: Alles auswählen
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
import time, locale
locale.setlocale(locale.LC_ALL, "german")
print "%s" % time.strftime("%a, %d %b %Y %H:%M:%S")
Vor allem ist es vom Betriebssystem abhängig welche Werte erlaubt sind. Das "german" funktioniert zum Beispiel nicht unter Linux.Leonidas hat geschrieben:Aber Locales funktionieren nicht immer perfekt, oft trifft das Adjektiv "seltsam" eher zu.Code: Alles auswählen
#!/usr/bin/env python # -*- encoding: latin-1 -*- import time, locale locale.setlocale(locale.LC_ALL, "german") print "%s" % time.strftime("%a, %d %b %Y %H:%M:%S")
Den Code hab ich aus dem etwas älteren Locale saugt Thread. Dort hat aber leider keiner den guten Tipp gegeben... getdefaultlocale() ist immernoch Schrott.BlackJack hat geschrieben:Vor allem ist es vom Betriebssystem abhängig welche Werte erlaubt sind. Das "german" funktioniert zum Beispiel nicht unter Linux.
Wenn man Python startet, dann wird auf die portable locale "C" umgeschaltet. Wenn man das haben möchte, was das Betriebssystem benutzt, dann sollte man als locale "", also eine Zeichenkette mit der Länge 0 setzten. Das sollte unter allen Betriebssystemen funktionieren.
Der Tip steht auch in der Doku zum 'locale'-Modul.
Weil es kein locale liefert, das man mit setlocale() setzen kann. Du kannst sagen, da soll man dann "" einsetzen. Klar, nur wozu ist dann getdefaultlocale() wenn man es sowieso nicht braucht? Es liefert bei mir 'de_DE' und 'cp1252', was aber setdefaultlocale() nicht akzeptiert.BlackJack hat geschrieben:Wieso das?Leonidas hat geschrieben:getdefaultlocale() ist immernoch Schrott.