EOL while scanning string literal の 意味と解決方法

 

Python で、ファイルパスを指定しようとしたら

 

エラー!!

 

エラーを読み解いていきます

SyntaxError:文法に問題がある

EOL:ファイルの最後に到達してしまった

while scanning string literal:文字列(string literal)を検索(scanning)していたら

 

要約すると

“(ダブルクォート)を検索したけど、(見つからなくて)、そのまま ファイルの最後まで到達してしまった

文字列は、”(ダブルクォート)で囲まれているはずだけど、最後の “(ダブルクォート)が見つからない

という意味になります

 

コードを見てみると、”(ダブルクォート) の 左側に \(バッククォート)があります

 

\(バッククォート)があると、右の文字はエスケープされ、Pythonは認識できなくなります

\(バッククォート)は、右の文字をエスケープさせる

 

\(バッククォート)を削除すれば、エスケープは回避できます

しかしながら、ファイルパスも表現したいので、削除はできません

そこで、ファイルパスとして表現しつつ、エスケープ機能を回避します

 

\(バッククォート) の左側に、\(バッククォート)を書くと、\(バッククォート)がエスケープされます

 

文字列の最後に、\(バッククォート)を記述する場合は、その右にもう一つ\(バッククォート)を書いておくと、エラーは回避できます

コメント

この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
タイトルとURLをコピーしました