[Python-de] 2to3: doctest output anpassen?

"Martin v. Löwis" martin at v.loewis.de
Mi Mär 9 01:05:19 CET 2011


> Beispiel Python 2:
>>>> foo()
> u'foo'
>
> Das "u" muss natürlich für Python 3 weg und das würde ich gerne
> irgendwie mit 2to3 machen. Allerdings scheint 2to3 sich nur um Code zu
> kümmern, nicht um die Ausgabe in den doctests.
>
> Gibt es eine Möglichkeit, dass ich mich irgendwo einklinke und einen
> eigenen "Fixer" schreiben kann?

Wenn's nur um's testen geht, und nicht (so sehr) um Dokumentation,
kannst Du schreiben

 >>> foo() == u'foo'
True

Das wird dann von 2to3 richtig behandelt.

Den Output kannst Du nicht so gut konvertieren. Eine Möglichkeit ist,
im test runner sys.displayhook auszutauschen, sodass Unicode-Strings 
immernoch als u'' ausgegeben werden. Das ist natürlich gehackt.

HTH,
Martin




Mehr Informationen über die Mailingliste python-de