我有
foo = '/DIR/abc'
我想将其转换为
bar = '\\MYDIR\data\abc'
因此,这是我在Python中所做的工作:
>>> foo = '/DIR/abc'
>>> bar = foo.replace(r'/DIR/',r'\\MYDIR\data\')
File "<stdin>", line 1
bar = foo.replace(r'/DIR/',r'\\MYDIR\data\')
^
SyntaxError: EOL while scanning string literal
但是,如果我尝试通过输入
bar = foo.replace(r'/DIR/',r'\\MYDIR\data\\')
来转义最后一个反斜杠,那么我会得到这种怪异现象:>>> bar2
'\\\\MYDIR\\data\\\\abc'
救命!这让我发疯。
最佳答案
第二个参数应该是字符串,而不是正则表达式模式:
foo.replace(r'/DIR/', '\\\\MYDIR\\data\\')