1. ホーム
  2. python

[解決済み] Pythonの文字列リテラルでバックスラッシュを引用する [重複] [重複

2022-03-12 06:43:55

質問

ダブルクオートとバックスラッシュの両方を含む文字列があり、Pythonで変数に設定したいのですが、どうすればよいですか?しかし、それを設定しようとすると、引用符やスラッシュが削除されるか、エスケープされます。以下はその例です。

>>> foo = 'baz "\"'
>>> foo
'baz ""'

ということで、代わりに baz "\" を取得することができます。 baz "" . その後、バックスラッシュをエスケープしようとしても、それは役に立ちません。

>>> foo = 'baz "\\"'
>>> foo
'baz "\\"'

これは、私が入れたものと一致しますが、私がもともと望んでいたものではありません。この問題はどのように回避するのでしょうか?

解決方法は?

あなたは出力に惑わされています -- あなたが取っている2番目のアプローチは、実はあなたが望んでいることを行っているのです。)

>>> foo = 'baz "\\"'
>>> foo
'baz "\\"'
>>> print(foo)
baz "\"

ちなみに、もう一つ、もう少しわかりやすい文字列の形があります。

>>> print(r'baz "\"')
baz "\"