有没有办法在f字符串中包含\u,从而在格式化之后推迟对转义序列的计算?

这是一个实际的例子. 让我们假设我有(巨 Python 3)

i="0222"
print(f'\u{i}')

这是无效的,并返回

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape

有没有办法在替换字符串中的{i}之后推迟对转义序列\u的判断?

推荐答案

有没有办法在f字符串中包含一个\u,从而在格式化之后推迟对转义序列的计算?

不是的.转义序列在字符串分析期间执行.

只需使用chr内建函数,它就会获取一个代码点(作为一个整数)并返回相应的字符串.

如果出于某种愚蠢的原因,您确实想使用f字符串,那么您需要在字符串对象中创建转义本身:

>>> i = 0x0222
>>> s = f'\\u{i:04x}'

然后应用"UNICODE_EASH"编解码器,它在运行时对转义进行解码

>>> codecs.decode(s, encoding='unicode_escape')
'Ȣ'

Python-3.x相关问答推荐

模型中的__str__方法在Django管理面板中生成大量重复查询

如何获得给定列表中所有可能的元素组合?

在循环访问XML中的多个层时,xml.etree.Elementree Python3解析器不起作用

如何将多个字典合并到一个列中,并为不同的行使用相同的键

ValueError at /register/ 视图authenticate.views.register_user 未返回HttpResponse 对象.它返回 None 相反

你能骗PIP 让它相信包已经安装了吗

一起使用数据类和枚举

合并所有文件并获取特定列数据

在不改变 python 中原始数组顺序的情况下,对多维字符串数组进行降序排序?

位对的距离

如果值超出上下限(异常值处理),则将值的数据框替换为 np.nan

当我判断另一个 checkButton 时,如何判断两个 python tkinter checkButtons?

如何将元组列表拆分为两个单独的列表?

判断是否存在大文件而不下载它

使用 python 正则表达式匹配日期

使用 pytest.fixture 返回模拟对象的正确方法

如何在 Python 中计算两个包含字符串的列表的 Jaccard 相似度?

在python中打印下标

Python 3 - Zip 是 pandas 数据框中的迭代器

Beautifulsoup 的单元测试失败