【问题标题】:Specifying Python statements using Unicode Code Points使用 Unicode 代码点指定 Python 语句
【发布时间】:2021-10-02 13:15:48
【问题描述】:

我正在尝试了解 python 解析器如何处理源代码文本以及它在解析时如何进行标记。我在同一个源文件中有 3 条语句,基本上执行相同的功能。

# -*- coding: latin-1 -*-
print("This is a Unicode List")
eval("\u0070\u0072\u0069\u006E\u0074\u0028\u0022This is a Unicode List\u0022\u0029")
\u0070\u0072\u0069\u006E\u0074\u0028\u0022This is a Unicode List\u0022\u0029

前 2 行按预期工作,但是第 3 行出现语法错误

File "...\UnicodeInput.py", line 4
    \u0070\u0072\u0069\u006E\u0074\u0028\u0022This is a Unicode List\u0022\u0029
                                                                               ^
SyntaxError: unexpected character after line continuation character

我有没有办法为 python 语句提供等效的代码点

【问题讨论】:

  • 第 4 行不是有效的 Python 语法
  • Python 只允许在字符串文字中使用转义序列。

标签: python parsing unicode


【解决方案1】:

不,Python 不允许转义序列作为有效的源代码,它们只在字符串中有意义。反斜杠是 Python 源代码中的换行符。你可以做你想做的唯一方法是使用 eval 或使用另一个使用转义序列的 python 脚本生成 python 文件。

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 2010-11-19
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多