Dobrý den,
předem se omlouvám za zavádějící název. Mám tento problém:
import time
den = time.strftime("%A")
print"",den
Potřeboval bych, aby když to pak vypíše ten den, tak aby to nenapsalo "Saturday", ale např "Sobota".
Nějaké nápady? Díky
Dobrý den,
předem se omlouvám za zavádějící název. Mám tento problém:
import time
den = time.strftime("%A")
print"",den
Potřeboval bych, aby když to pak vypíše ten den, tak aby to nenapsalo "Saturday", ale např "Sobota".
Nějaké nápady? Díky
Time respektuje locale (místní nastavení)
>>> import time, locale
>>> time.strftime("%A")
'Sunday'
>>> locale.setlocale(locale.LC_TIME, "cs_CZ.utf8")
'cs_CZ.utf8'
>>> time.strftime("%A")
'Neděle'
Pozor na to, že to je systémová záležitost. Nenastavíš locale na něco, co systém nezná (nemá nainstalované).
Taky se ten název locale může lišit. (Asi jen Windows nedodržuje tento formát. Mělo by tam fungovat třeba "czech"). Pokud zadáš prázdný řetězec, tak se použije systémové locale (respektive to, se kterým byl program spuštěn).
to decode encode mas tez v tom linku na dokumentaci na tamte strance:
https://docs.python.org/…de.html
>>> b'\x80abc'.decode("utf-8", "strict")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0:
unexpected code byte
>>> b'\x80abc'.decode("utf-8", "replace")
'\ufffdabc'
>>> b'\x80abc'.decode("utf-8", "ignore")
'abc'
Ten řetězec je správně, takhle ho jen zobrazí interaktivní Python. Když ho dáš do printu, tak by měl být správně.
>>> time.strftime("%A")
'pond\xecl\xed'
>>> print time.strftime("%A")
pondělí
PS: Hned jsem nepostřehl, že používáš Python 2. Raději to k dotazům vždy piš.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku