◆ """text""" は書いたままの取得にはならない
◆ r"text" を使う
  ◆ JavaScript の Strng.raw`` みたいなもの
  ◆ 欠点も同じで " を文字列中にエスケープして入れると \ も文字列に含まれる
  ◆ 最後を \ にできない
◆ r"""text""" にもできる

raw string は r""

Python は """ があるからこれで書いたままを取得できると思ってました
ですが """ でパスを書いてたらエスケープの問題でファイルがあるはずなのに見つからないエラーになってました

>>> """C:\Program Files (x86)\Git\bin\git.exe"""
C:\Program Files (x86)\Git\x08in\git.exe
>>> print("""C:\Program Files (x86)\Git\bin\git.exe""")
C:\Program Files (x86)\Giin\git.exe

\b はバックスペース扱いなので print すると t が消えてます

正しい書いたまま取得する記法は """ と違って r"" でした
r"" を使うと

>>> print(r"C:\Program Files (x86)\Git\bin\git.exe")
C:\Program Files (x86)\Git\bin\git.exe

JavaScript の String.raw`` みたいなものです
欠点も同じで 最後が \ で終わることはできないのとクオートの文字列を含められません

r"" の欠点

末尾の \

Windows でパスを書くときにたまにある最後が 「\」 の文字列です
>>> print(r"C:\Users\")
File "<stdin>", line 1
print(r"C:\Users\")
^
SyntaxError: EOL while scanning string literal


最後の 「\」 はエスケープ扱いになって 文字列の終わりのつもりの 「"」 が文字列中の 1 つの文字と認識され文字列が終わりません
なので文字列リテラルのスキャン中に行の最後 (EOL) に到達したとエラーがでます


文字列中にクオート

また 文字列中に文字列の開始と同じクオートを含めることが出来ません
クオートが文字列終了の記号なので 「\"」 のようにエスケープが必要です
しかし r"" を使うと取得できる文字も 「\"」 となってしまい不要な 「\」 が付きます

こっちは Python なら解決できます
r と """ を組み合わせられるので

>>> r"""["foo"]=1"""
'["foo"]=1'

でも 最後が 「"」 にはできません

>>> r"""["bar"]="baz""""
File "<stdin>", line 1
r"""["bar"]="baz""""
^
SyntaxError: EOL while scanning string literal


末尾のみなので 末尾が 「"」 なら文字列を
r'''"text"'''
にして 末尾が 「'」 なら
r"""'text'"""
にすれば大丈夫です


でも heredoc は C# の @"" が最強だと思います
エスケープが 「""」 とクオート 2 つになり どちらも問題も起きません