2017-03-23 2 views
-1

でバックスラッシュをエスケープ:は、しかし、私が得る、私の知る限り、以下は動作するはず、と思ったとしてPython 3.4.5

Python 3.4.5 (default, Nov 9 2016, 16:24:59) 
[GCC 4.8.5 20150623 (Red Hat X.X.X-XX)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> '\\' 
'\\' 
>>> '\' 
    File "<stdin>", line 1 
    '\' 
    ^
SyntaxError: EOL while scanning string literal 

私は何かが足りないのですか?

'\\'さんには\が返されます。

+2

どうすればよいですか?あなたは引用符をエスケープしていて、文字列の最後には引用符がありません。 –

+1

あなたが何を求めているのか分かりません。 '\ ''はエスケープされた引用符で、*は文字列の最後ではありません。 –

+3

そして、その表現を値と混同しないでください! ''\\''は、その値を生成するための有効なPython構文です。そのため、Pythonが再びエコーします。 ''\''をエコーし​​、コピーして貼り付けようとした場合、自分で作成した '' SyntaxError'例外とまったく同じものが得られます! –

答えて

2

私は '\\'が\を返すと予想しています。

printです。

対話型プロンプトでは、リテラル・バックスラッシュを含む文字列であることを示すreprが表示されます。これはデバッグ用です。空白行を印刷するのではなく、'\n'と表示されます。 printそれと空白行を取得します。

関連する問題