LoginSignup
5
2

More than 1 year has passed since last update.

Windowsでパス指定時のエラーの対処方法 (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Last updated at Posted at 2023-04-23

エラーの中身

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
5
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2