我知道如果你想打印它,在Python中很容易转义$:
>>> char='$'
>>> print(f'\{char}')
\$
但这不是我需要的。我想将它保存在一个变量中;但是,我总是使用双反斜杠而不是单反斜杠。
>>> f'\\{char}'
'\\$'
>>> f'\{char}'
'\\$'
>>> f'\\{char}'
'\\$'
>>> repr(f'\{char}')
"'\\\\$'"
>>> repr(f'\\{char}')
"'\\\\$'"
因此
my_escaped_string = f'\{char}'
将是 \\$
而不是 \$
。
由于这将用于转义密码中的一些特殊字符,这些字符稍后将被发送到 bash,因此 bash 将在双反斜杠方面遇到真正的问题。
我还尝试过 escaped_str = "\" + char 等等。但是,我无法设法在转义字符的 from 中仅附加一个反斜杠。
有人有足够的灵感来解决这个问题吗? ChatGPT 坚持愚蠢的解决方案。
我有
my_pass = '1234$5678'
并且我想将其转换为 `my_escaped_pass => '1234\$5678' 而不是 '1234\$5678'
您对字符串和字符串的表示形式感到困惑。
❯ s = "\$"
❯ print(s)
\$
❯ s
'\\$'
如果当你通过管道将其传递给 bash 时,你想要在
\
之前添加一个 $
,只需在此处放一个即可。
i ❯ my_pass = "abcdef"
i ❯ val = f'{my_pass[:3]}\${my_pass[3:]}'
i ❯ print(val)
abc\$def
i ❯ val
'abc\\$def'