[Python-de] Re: Muss ich % immer escapen?

[email protected] Thu, 22 Jun 2023 12:52:02 +0000
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
Hallo Petter,

danke für die Rückmeldung und entschuldige meinen Bullshit-Code. Das 
ging daneben.

OK, vielleicht ist das reale Beispiel einfacher. So habe ich print nie 
verwendet, aber das scheint valider Code zu sein.

     print(_('Trying to keep min %d%% free inodes') % minFreeInodes)

Nun wollte ich das "modernisieren", auch weil die Übersetzer mit "%d%%" 
oft nichts anfangen können.

     print(_('Trying to keep min {perc}% free 
inodes').format(perc=minFreeInodes))

Das geht auch. Aber meine Übersetzungsplatform (Weblate 4.17) moniert 
hier ein Problem: Nach dem % ist ein Leerzeichen und danach kommt ein f 
. Weblate denkt, es müsste dort %f heißen und moniert es. Würde ich das 
% an der Stelle escapen meckert Weblate nicht.

Liegt Weblate hier falsch bzw. ist einfach zu umodern/unflexibel? Muss 
ich bei dem zweiten Beispiel das % eigentlich escapen und der Python 
Interpreter ist hier einfach nur gnädig mit mir und lässt es mir 
durchgehen, obwohl es nicht Standard/PEP-konform ist?

Natürlich kann ich einen einfachen Workaround machen, um Weblate 
zufrieden zu stellen.

     print(_('Trying to keep min {perc} free 
inodes').format(perc=f'{minFreeInodes}%'))

Abgesehen von Weblate, ist die Frage hier eigentlich nur, ob ich ein % 
escapen muss, wenn ich die moderne Form von Format-Strings mit den 
geschweiften Klammern nutze?

Schöne Grüße
Christian
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]