Hujec všem,<br>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ší):<br># -*- coding: cp1250 -*-<br>promenna=u"p\u0159edm\u011bt"<br>pole=[]<br>print type(promenna)<br>print u"předmět: %s" % (promenna)<br>pole.append(u"předmět: %s") % (promenna)<br><br>Po spuštění tohoto scriptu se mi vyvolá výjimka:<br><br><type 'unicode'><br>předmět: předmět<br>Traceback (most recent call last):<br> File "C:\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript<br> exec codeObject in __main__.__dict__<br> File "C:\Documents and Settings\nu.frix\Plocha\^nu.friX\unicode_error.py", line 6, in ?<br> pole.append(u"předmět: %s") % (promenna)<br>TypeError: unsupported operand type(s) for %: 'NoneType' and 'unicode'<br>
<br>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.<br>
<br>
<br>
Dan Pressl
<br>
... aka ^nu.friX
<br>
R34l17y 1s us3l3ss & F4Q DMNC!!!