[python] Tisk unicode řetězce a tisk seznamu unicode řetězců
Radek Kanovsky
rk na dat.cz
Středa Červen 8 09:16:37 CEST 2011
On Tue, Jun 07, 2011 at 06:13:23PM +0200, David Rohleder wrote:
> Když už jsme u těch řetězců: jak se udělá raw unicode řetězec, tj.
> interpret neinterpretuje uvnitř? Generuju si latexový dokument a on se
> přirozeně vzteká na:
>
> hlavicka = ur"""
> \documentclass[a4,landscape]{article}
> \usepackage{graphicx}
> \usepackage[czech]{babel}
> \usepackage[utf8]{inputenc}
> \begin{document}
> \thispagestyle{empty}
>
> """
>
> print hlavicka
>
> SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes
> in position 39-40: truncated \uXXXX
Problém je, že i v raw řetězci má \u speciální význam. Slouží pro zadávání
unicode znaků hexadecimálně a "sepa" (následující za \u) není hexadecimální
číslo. http://docs.python.org/reference/lexical_analysis.html#literals
Možná by nebylo špatné na generování latex dokumentů použít nějaký
šablonovací nástroj. Taková Tempita http://pythonpaste.org/tempita/
je velmi jednoduchá. Používáme to například na generování emailů.
Dlouhé stringy v kódu nevypadají dobře a starší Vim občas rozhodí
při zvýrazňování syntaxe :-)
Radek Kaňovský
http://www.dat.cz/
Další informace o konferenci Python