提问人:evansrhonda 提问时间:9/12/2022 更新时间:9/12/2022 访问量:24
Python 引用 Python 中的字符串,并带有适当的转义
Python-quote a string in Python with proper escapes
问:
我想取一个字符串,并返回此字符串的 Python 样式的带引号表示。我怎样才能正确地做到这一点,即。尊重 Python 语法?
我想要的一些例子:
cat
->"cat"
"dog"
->'"dog"'
'elephant'
->"'elephant'"
"what's up"
->'"what\'s up "'
'''"""seriously dude?"""'''
->'\'\'\'"""seriously dude?"""\'\'\'
请注意,引号被正确转义,这比简单地按照一些类似问题中的建议进行操作要复杂得多。f'"{s}"'
我知道在 Python 中可以有多种方法来表示同一个字符串(、、、、......我没有偏好使用哪一个,只要结果在 Python 中解析为有效的字符串文字即可。"cat"
'cat'
"""cat"""
"c"'a'"t"
对于上下文:我的 Python 程序生成 Python 代码。用户输入的一部分是一些原始字符串,必须在输出中将其转换为带引号的 Python 文本。
答:
0赞
evansrhonda
9/12/2022
#1
我找不到特定于 Python 的方法来执行此操作,但巧合的是 JSON 具有类似的字符串文字语法:
def quote_string(s: str) -> str:
# JSON string literals are a subset of Python (?)
return json.dumps(s)
- 我不确定这是否总是正确的 - 我认为一些转义序列可能在 Python 中有效,而在 JSON 中无效,反之亦然
- JSON 没有很多引号风格,因此它无法有效地利用一些优化,例如
'no "big" deal'
"no \"big\" deal"
可能还有比这更好的方法,但我想不出一个。
评论