エラーの中身
windowsでPythonを記載中
パスを文字列として指定するとエラーが起こることがある。
file = "C:\Users\***.***"
file = "C:\Users\***.***"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
結論
Windowsでパスを指定する際は、文字列の前にR
を書く。
NG:エラーが出る書き方
"C:\Users\***.***"
OK:Rを先頭に記述する
R"C:\Users\***.***"
もしくは\
を\\
に変更して
OK:\を\\と記述する
"C:\\Users\\***.***"
理由
Pythonでは\
のあとに文字を書かれると「特殊な文字」(エスケープシーケンス)として認識してしまう。
例えば\n
と書くと改行として認識される。
print("Hello\nWorld")
Hello
World
しかし、R"文字列"
と書くことで書いたそのまま文字列として認識させることができる(raw文字列)
print(R"Hello\nWorld")
Hello\nWorld
もしくは\\
と記述することで\
と認識させることもできる
print("Hello\\World")
Hello\World