[python] Re: cestina a python

pavel.kosina gen2n na seznam.cz
Středa Duben 20 20:40:47 CEST 2005


# -*- coding: cp1250 -*-

"""Pokud bude tedy tento skript ulozen v kodovani 1250 tak presto bude 
spravne proveden v jakemkoliv prostredi. To 'x' sice neni unicode (pokud 
tedy cilove prostredi neni unicode), presto se tiskne spravne, protoze 
se jedna o jedno a to same prostredi."""

print u"Zadej něco příąerného českého: ",
x=raw_input()
print x

"""Nasledujici vsak jiz nefunguje. Asi proto, ze x neni unicode. Musime 
tedy z neho unicode udelat. Mne ovsem nestacilo unicode(x), ale musel 
jsem pouzit konketni unicode(x,'cp852'), coz ale zhorsuje 
prenositelnost. Ve windows mam cp1250 (i pres sys.getdefaultencoding()), 
ale na prikazovem radku asi cp852."""

print u"®lu»oučký %s úpěl" % x
print u"®lu»oučký %s úpěl" % unicode(x, 'cp852')

"""Snad se tazatel ptal i na tohle..."""

Pavel Bařina napsal(a):
> Dobry den,
> omlouvam se za zacatecnicky dotaz. S pythonem teprve zacinam.
> Pochopil jsem ze python umi pracovat s unicode. 
> 
> #! /usr/bin/env python
> # -*- coding: iso-8859-2 -*-
> print u"Jsem rád, ze jsem te poznal."
> 
> Mi funguje bez problemu a ve funkci print je vypis ceskych znaku spravne.
> 
> Kdyz ale napisu tohle :
> 
> #! /usr/bin/env python
> # -*- coding: iso-8859-2 -*-
> odpoved = raw_input(u"Jak se jmenujes?")
> print u"Tak ty se jmenujes %s! Jsem rad, ze jsem te poznal." % odpoved
> 
> Pri pouziti  funkce raw_input python hlasi chybu :
> 
> Traceback (most recent call last):
>   File "./otazka.py", line 3, in ?
>     odpoved = raw_input(u"Jak se jmenujes?")
> UnicodeEncodeError: 'ascii' codec can't encode character u'\u0161' in
> position 14: ordinal not in range(128)
> 
> Netusim proc unicode v tomto pripade nefunguje. Priklad spoustim jako script
> v konsoli v Linuxu. Dekuji moc za nakopnuti spravnym smerem.
> 
> 



Daląí informace o konferenci Python