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/ _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python