Tra*_*ang 5 python-3.x string-prefix
我有一个字符串变量是
temp = '1\2\3\4'
Run Code Online (Sandbox Code Playgroud)
我想在字符串变量中添加前缀“ r”并获取
r'1\2\3\4'
Run Code Online (Sandbox Code Playgroud)
这样我就可以基于'\'分割字符串。我尝试了以下方法:
r'temp'
'r' + temp
r + temp
Run Code Online (Sandbox Code Playgroud)
但以上方法均无效。有一个简单的方法吗?我正在使用python3。我也尝试使用
temp.encode('string-escape')
Run Code Online (Sandbox Code Playgroud)
但它返回以下错误
LookupError: unknown encoding: string-escape
Run Code Online (Sandbox Code Playgroud)
r是字符串文字的前缀。这意味着,在创建字符串值时r"1\2\3\4"不会解释\为转义符,而是保留\为字符串中的实际字符。因此,r"1\2\3\4"将有七个字符。
您已经拥有字符串值:无需解释。您不能让r前缀影响变量,只能影响文字。
您temp = "1\2\3\4"会将反斜杠解释为转义符,创建字符串'1\x02\x03\x04'(一个四字符的字符串),然后将此字符串分配给变量temp。没有办法追溯重新解释原始文字。
编辑:鉴于最近的评论,您实际上似乎没有 string "1\2\3\4"。如果你有一个有效的路径,你可以使用
path.split(r'\')
Run Code Online (Sandbox Code Playgroud)
或者
path.split('\\')
Run Code Online (Sandbox Code Playgroud)
但你可能也不需要那个;相反,您可能希望将路径拆分为目录和文件名,这最好由os.path函数来完成。