python 在字符串中转义 $ 并保存为变量

问题描述 投票:0回答:1

我知道如果你想打印它,在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'

python escaping backslash
1个回答
1
投票

您对字符串和字符串的表示形式感到困惑。

❯ 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'
© www.soinside.com 2019 - 2024. All rights reserved.