クソマミレンの愚痴

30超え職歴なし長期引きこもり明けのダメ人間がクソ記事を量産

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

ついにプログラミングにまで愚痴る無職

 

Python本2冊目がクソ本・・・


説明が足りない。


"ダウンロードしたサンプルファイルをPython IDLE のディレクトリにコピーしてください。"


この一文がどこにも書いていないため、外部ファイルの読み込みのとこで何度もFileNotFoundErrorになってイライラした。


絶対パスにしても

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

のエラーが出て、そうすりゃいいんだ・・・と手詰まりになる。

 

でも結局解決した。
本にはどこにも書いてないけど試行錯誤の過程でIDLEのディレクトリにサンプルのテキストファイルをコピーして実行したらうまくいった(これすらわからない初心者)し、

 

とあるサイト通りに絶対パスの前にrを付けたらうまく行った。特にrをつけるだけでエラーが出ないことに普通に感動した。エスケープシーケンスがあーだーこーだらしいが、エスケープ文字について調べても抽象的で何いってるかイマイチよくわからないけどなんだかすごい。

 

絶対ファイルパスをそのまま指定するとエスケープシーケンス扱いになっちゃってエラーが出る。エラーを出さないためにはraw文字にしてエスケープシーケンスを無効にしないといけない。ファイルパスの前にrをつけることでraw文字として扱われ、エスケープシーケンスが無効になりエラーが出ない。こんなところか。またひとつ経験を得た。けど、わかりにきーよこの本。ちゃんとダウンロードしたファイルをコピーしてねと書いとけよ。イライラして頭が痛くなってきたぜ。

 

■参考にしたサイト

・raw文字 (PythonWeb)
https://www.pythonweb.jp/tutorial/string/index4.html

 

・open関数を使うとエラー (unicode error) が出てしまいます

https://ja.stackoverflow.com/questions/11582/open%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E3%82%A8%E3%83%A9%E3%83%BC-unicode-error-%E3%81%8C%E5%87%BA%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99