将“r”前缀添加到 python 变量

新手上路,请多包涵

我有字符串变量,它是

temp = '1\2\3\4'

我想在字符串变量中添加一个前缀 ‘r’ 并得到

r'1\2\3\4'

这样我就可以根据’\‘拆分字符串。我尝试了以下内容:

 r'temp'
'r' + temp
r + temp

但以上均无效。有简单的方法吗?我正在使用 python 3。我还尝试使用

temp.encode('string-escape')

但它返回以下错误

LookupError: unknown encoding: string-escape

原文由 Tracy Yang 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
1 个回答

r 是字符串 文字 的前缀。这意味着, r"1\2\3\4" 不会解释 \ 作为创建字符串值时的转义符,而是保留 \ 字符串为实际字符。因此, r"1\2\3\4" 将有七个字符。

您已经有了字符串值:没有什么可解释的。您不能让 r 前缀影响变量,只能影响文字。

您的 temp = "1\2\3\4" 会将反斜杠解释为转义,创建字符串 '1\x02\x03\x04' (一个四字符的字符串),然后将此字符串分配给变量 temp 无法追溯地重新解释原始文字。

编辑:鉴于最近的评论,您似乎实际上没有字符串 "1\2\3\4" 。如果你有一个有效的路径,你可以使用

path.split(r'\')

或者

path.split('\\')

但你可能也不需要那个;相反,您可能希望将路径拆分为目录和文件名,最好使用 os.path 函数 来完成。

原文由 Amadan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进