Frage

Ich bin einen fixer für das 2to3-Tool in Python zu schreiben.

In meiner Musterkette, habe ich einen Abschnitt, wo Ich mag würde eine leere Zeichenfolge als Argument entsprechen, oder einen leeren Unicode-String. Der relevante Teil meines Muster aussieht:

(args='""' | args='u""')

Mein Problem ist die zweite Option nicht übereinstimmt. Auch wenn es allein ist, wird es nicht überein. Allerdings, wenn ich einfach args sagen = keine und dann ausgegeben args, kann ich Fälle fangen wo args genau ist mit der zweiten Option entsprechen.

Gibt es ein seltsames Unicode-Behandlung, was los ist? Warum wird nicht die zweite wörtliche Option immer überein?

War es hilfreich?

Lösung

Da 2to3 Mustervergleich zu Spiel ausgelegt ist, Token nicht Literale, gibt es keine Möglichkeit, dies direkt zu tun.

Stattdessen könnten Sie passen (args = STRING) und dann den Wert des in der Transformationsfunktion String-Arguments bestimmen und entsprechend behandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top