为什么用如下所示的反斜杠替换反斜杠对第二个反斜杠不起作用?:
x = 'O:\MAP\04_Operational Finance\Billing\Billings Reconciliation'.replace('\\', '/')
print(x)
打印输出为:
O:/MAP_Operational Finance/Billing/Billings Reconciliation
答案 0 :(得分:9)
'\04'
是字符串文字,而该文字中的转义序列\04
已经表示而不是“反斜杠哦四”。将字节x04
作为字符串的一部分写入是转义序列。您的字符串开头绝对不会包含字符“反斜杠哦四个”。如果要在字符串文字中使用反斜杠而不将其解释为转义序列,则需要对它们进行转义:
'O:\\MAP\\04_Operational Finance\\Billing\\Billings Reconciliation'
或使用原始文字:
r'O:\MAP\04_Operational Finance\Billing\Billings Reconciliation'
答案 1 :(得分:1)
您的字符串应使用'\\'
,因为它不是原始字符串,并且需要转义反斜杠。 \0
是我认为的某种转义字符
x = 'O:\\MAP\\04_Operational Finance\\Billing\\Billings Reconciliation'.replace('\\', '/')
或者您可以在字符串前加上r:r'string'
,这表示您无需转义反斜杠的原始字符串
答案 2 :(得分:1)
使用r
-> using backslash in python (not to escape)
x = r'O:\MAP\04_Operational Finance\Billing\Billings Reconciliation'.replace('\\', '/')
print(x)
O:/MAP/04_Operational Finance/Billing/Billings Reconciliation