Message298563
Take this format python code:
import unicodedata
c = chr(0x012345)
To print that character as a string literal, you would expect to do:
print(f"'\\N{{{unicodedata.name(c)}}}'")
Which should print a literal quote (`'`), a backwards slash (`\\` -> `\`), an `N`, and the two `{{` should escape and print `{`, followed by the f-expression `unicodedata.name(c)`, then the `}}` would print one `}`, and then another literal quote (`'`).
However, this raises a `SyntaxError: f-string: single '}' is not allowed`. The way to do this without a syntax error is like so:
print(f"'\\N{{unicodedata.name(c)}}}'")
Which prints the expected:
'\N{CUNEIFORM SIGN URU TIMES KI}'
The shortest way to reproduce this is:
f'\\N{'
Which works, and:
f'\\N{{'
which raises an error, even though the first one should raise an error (`SyntaxError: f-string: expecting '}'`). |
|
Date |
User |
Action |
Args |
2017-07-17 22:09:08 | Mital Ashok | set | recipients:
+ Mital Ashok |
2017-07-17 22:09:08 | Mital Ashok | set | messageid: <1500329348.19.0.0660291861244.issue30955@psf.upfronthosting.co.za> |
2017-07-17 22:09:08 | Mital Ashok | link | issue30955 messages |
2017-07-17 22:09:08 | Mital Ashok | create | |
|