【发布时间】:2020-12-15 05:03:38
【问题描述】:
我正在构建一个程序来读取用户的一些输入。如果此输入包含转义字符,例如,'\n',那么我需要像换行符一样处理它,而不是像文字字符串 r'\n'。这必须适用于所有可能的转义序列,而不仅仅是像 \r、\n 等常见的转义序列。我尝试使用 shlex 和 ast 来实现这种行为,但我收到错误。
我的代码:
import shlex
import ast
text = r"result:"
escaped_text = ast.literal_eval(shlex.quote(text))
print(escaped_text)
错误:
...
File "<unknown>", line 1
\x1b[31mError:
SyntaxError: unexpected EOF while parsing
【问题讨论】:
-
可能是
+ r"\x1b[0m"(注意第二个r")? -
无法复制 - 为我工作。
-
由于某种原因,这个例子现在可以......奇怪
-
是的,仍然无法重现错误。但很高兴它现在对你有用:)
-
@alani 再次编辑...问题似乎仅在文本为
"result:"时发生。我不知道为什么..
标签: python python-3.x input unicode-escapes