Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将字符串文本转换为字符串_Python_String_String Literals - Fatal编程技术网

Python将字符串文本转换为字符串

Python将字符串文本转换为字符串,python,string,string-literals,Python,String,String Literals,我想将类似r“r'\nasdf'的字符串文字转换为字符串('\\nasdf') 另一种情况:r“'\nasdf'到'\nasdf'。 我希望你能得到它 这很重要,因为我有一个python脚本解析器,它想知道字符串文本的确切内容 eval是一个聪明的解决方案吗?字符串文本在之前经过筛选(使用标记化),不应导致安全责任。难道没有比评估文字更高尚的解决方案吗?可能是解析器库 编辑:添加了其他示例,以避免误解。是的,有: >>> s = r'\nasdf' >>> s

我想将类似
r“r'\nasdf'
的字符串文字转换为字符串(
'\\nasdf'

另一种情况:
r“'\nasdf'
'\nasdf'
。 我希望你能得到它

这很重要,因为我有一个python脚本解析器,它想知道字符串文本的确切内容

eval
是一个聪明的解决方案吗?字符串文本在之前经过筛选(使用
标记化
),不应导致安全责任。难道没有比评估文字更高尚的解决方案吗?可能是解析器库

编辑:添加了其他示例,以避免误解。

是的,有:

>>> s = r'\nasdf'
>>> s.decode('string-escape')
'\nasdf'
您想要:


这是一种安全的方法,用于评估/解析包含Python源代码的字符串(不同于
eval()
)。

这将是一个“原始”字符串,而不是一个“文本”字符串。我认为我的问题表述不正确,我正在尝试再次正确地进行。我指的是字符串文字,不是原始字符串。足够清楚了。文字评估是更高贵的解决方案:)对不起,我的问题不太清楚(我编辑)。这是原始字符串到字符串的转换,而不是字符串文字到字符串的转换。
>>> import ast
>>> raw = r"r'\nasdf'"
>>> ast.literal_eval(raw)
'\\nasdf'
>>> raw = r"'\nasdf'"
>>> ast.literal_eval(raw)
'\nasdf'