[Python-de] Locale saugt

Gerson Kurz gerson.kurz at pergamon-software.de
Fre Aug 1 10:40:17 EDT 2003


Ohne weitere Worte:

------------------ (ABSCHNEIDEN HIER) ------------

import time, sys, locale

print "Python ist %s" % str(sys.version)

default = locale.getdefaultlocale()
print "default locale ist %s" % str(default)

# laut doku zu strftime ist, Zitat
# "%c Locale's appropriate date and time representation "

print 'Das ist aber keine Deutsche Datumsangabe: %s' % time.strftime("%c")

# das ist auch toll:
try:
    locale.setlocale(locale.LC_ALL, default[0])
except Exception, e:
    print "setlocale('%s') schlägt fehl: %s" % (default[0], e)

# undokumentiert, geht aber offensichtlich
locale.setlocale(locale.LC_ALL, "german")

# dokumentiert, geht aber nicht:
try:
    print locale.D_T_FMT
except AttributeError, e:
    print "locale.D_T_FMT gibt es nicht: %s" % str(e)

# abgesehen davon, daß weder asctime noch localtime die locale
# berücksichtigen (aber gut, das ist zumindest dokumentiert)

print "Endlisch: %s" % time.strftime("%c")

------------------ (ABSCHNEIDEN HIER) ------------
Das Ergebnis

>pythonw -u localesaugt.py
sys:1: DeprecationWarning: Non-ASCII character '\xe4' in file localesaugt.py
on line 17, but no encoding declared; see
http://www.python.org/peps/pep-0263.html for details
Python ist 2.3 (#46, Jul 29 2003, 18:54:32) [MSC v.1200 32 bit (Intel)]
default locale ist ('de_DE', 'cp1252')
Das ist aber keine Deutsche Datumsangabe: 08/01/03 09:37:17
setlocale('de_DE') schlägt fehl: locale setting not supported
locale.D_T_FMT gibt es nicht: 'module' object has no attribute 'D_T_FMT'
Endlisch: 01.08.2003 09:37:17
>Exit code: 0

Wobei mir die DeprecationWarning da GERADE noch gefehlt hat. Grmpf......