Python 为什么不';是否按照replace()语句替换所有反斜杠?

Python 为什么不';是否按照replace()语句替换所有反斜杠?,python,python-3.x,Python,Python 3.x,我试图用双反斜杠来代替反斜杠(从这里) 我的剧本: txt = "qnkyHbgFYhBi@lFA|@Dz@K~@Oz@An@Dz@A|@D|@M|BJZd@KDHRzBf@lMNrBB~@Lz@\h@^`@Lt@?L]`@GH?FJl@Xl@NNLXVpBHV^LZf@Jt@@j@Kx@OjB@l@b@ZJDv@d@`@RXFp@\Zl@d@|Ad@`@jAzBf@nATn@\xAD~@Jt@TJTv@^b@f@^b@b@f@^r@nA`@^\f@`@VVp@Lx@Vb@d@n@\l

我试图用双反斜杠来代替反斜杠(从这里)

我的剧本:

txt = "qnkyHbgFYhBi@lFA|@Dz@K~@Oz@An@Dz@A|@D|@M|BJZd@KDHRzBf@lMNrBB~@Lz@\h@^`@Lt@?L]`@GH?FJl@Xl@NNLXVpBHV^LZf@Jt@@j@Kx@OjB@l@b@ZJDv@d@`@RXFp@\Zl@d@|Ad@`@jAzBf@nATn@\xAD~@Jt@TJTv@^b@f@^b@b@f@^r@nA`@^\f@`@VVp@Lx@Vb@d@n@\l@V|BLx@Hz@Pp@Lz@Fl@ErAFf@K~@IvBQr@m@hBFfAC|@g@nC?z@ANi@hBGjAMx@OvBa@hBWfBSx@?r@M|@Qv@Wn@q@tAMt@@z@Px@kAvDWj@u@pAYr@Mx@q@fA_@d@K~@YTAr@C@@B@`@ITSL}@I]vBz@pA@z@KVGDk@@g@Eg@Kg@@g@Ec@Fe@YSZGFEUUg@Gz@i@j@S|@Wr@Sp@[hBDx@BvBD~@BvCNx@Zj@Z^Zf@TXb@R^Z\`@f@FXj@BTOdA]`BUx@Wl@Oz@G|@Hn@At@m@lI@XXf@?v@IBCq@M_AV{B\wGLs@To@|@Th@In@`@@cBWmAuAeE[k@e@YYg@a@_@c@YQ[y@aAWa@Us@?iAEk@?{@KaFNy@d@qBh@eDl@s@J@JMLKLT`@R`@\X~@b@^^PfAr@\Lf@Fd@m@J{ABkALw@d@a@?_AMoA?yCbAqC@s@hBwBXi@Ng@Nu@n@sAMuBJ}@\kACs@[e@Wk@e@c@k@YYYIBi@eAMy@A}@Im@G}@JyBDyB?{@IyBC_AKc@_@QgAa@]m@eAo@]e@Om@SsAIy@GwDIwB@}BF}BC]AcEIq@Wq@i@eBMy@AkBUyDIKEvAIZUNK?MFc@ZUGKeAG}@M{DLgAD_ADiFHKtBITm@By@OS[QAUF}@PeBA}AIe@GQc@g@UaBUs@}@gAKi@Ns@A[Kw@GS]g@Ws@I}BOwB?{@SqDA_AQwDAw@g@DEGAu@B}BA}@Fy@Re@Hw@A_AUiAH{@RYXk@EwBG{@OiAAmA"

x = txt.replace("\\", "\\\\")

print(x)
输出(顶部字符串添加空格以突出显示与下面原始字符串的差异)

所以你可以看到
@\xAD~@
变成
@­~@
我什么时候能想到呢
@\\xAD~@

基本问题是字符串中没有反斜杠。您的源代码有反斜杠,但它们都是转义信号。如果要以“所见即所得”样式保留反斜杠,请使用
raw
string模式:

txt = r"qnkyHbgFYhB..."

这将保留所看到的字符,而不处理通常的转义序列。

\xAD
是转义序列,字符串中没有反斜杠。
\xAD
是一个代码为十六进制值的字符
AD
txt = r"qnkyHbgFYhB..."