[python] Unicode - TypeError
^nu.friX
nu.frix na email.cz
Středa Červenec 25 01:12:57 CEST 2007
Hujec všem,
dělám jeden program a v něm mám část, kdy potřebuju provést zápis do
.txt souboru, ale tak, aby se četl jen při otevření přes program a
ne normálně (pomocí pickle). Jelikož potřebuju zachovat diakritiku,
používám kodování Unicode. Ale když jsem se snažil provéct
následující operaci, program skončil (kod zkrácen jen na to
nejnutnější):
# -*- coding: cp1250 -*-
promenna=u"p\u0159edm\u011bt"
pole=[]
print type(promenna)
print u"předmět: %s" % (promenna)
pole.append(u"předmět: %s") % (promenna)
Po spuštění tohoto scriptu se mi vyvolá výjimka:
<type 'unicode'>
předmět: předmět
Traceback (most recent call last):
File "C:\Python24\Lib\site-packages\pythonwin\pywin\framework\
scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Documents and Settings\nu.frix\Plocha\^nu.friX\unicode_
error.py", line 6, in ?
pole.append(u"předmět: %s") % (promenna)
TypeError: unsupported operand type(s) for %: 'NoneType' and
'unicode'
Jak vidíte tak type je opravdu unicode a pokud je chci pouze
vytisknout, tak problém není, ale pokud chci vytvořit řetězec a ten
následně přidat do pole, program končí. Absolutně nevím co s tím,
asi je to dotaz lamy, ale prosil bych o radu.
Dan Pressl
... aka ^nu.friX
R34l17y 1s us3l3ss & F4Q DMNC!!!
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20070725/d7f28c17/attachment.htm
Další informace o konferenci Python