ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

unicode error “unicodeescape”というエラーの回避方法

windows 環境で python のプログラムを作成していたら以下のようなエラーに遭遇した。

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

エラーの場所

5行目の「binary_location」のパスの指定部分でエラーが発生したようでした。。。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.binary_location = 'C:\Users\Administrator\Desktop\geckodriver'

原因

パスなどの文字列に“\”が使われるとその文字列がエスケープシーケンスとしてみなされてエラーになるようです。
Windows の環境では“¥”と文字の組み合わせでエスケープシーケンスを表すようで、今回はパスの指定が問題になったようでした。

回避方法

今回は raw 文字列を使って問題を回避します。
以下のように r または R を文字列(パス)の先頭に付けます。

options.binary_location = r'C:\Users\Administrator\Desktop\geckodriver'