ファイルパスに\tの部分があるとエラーが発生する。

python

上記の画像のようにファイルパスを指定すると、「\t」だけがエラーになり、解決に少し時間がかかったので、2つの解決方法を記載しておきます。
正直めっちゃ簡単でした。

スポンサーリンク

r-stringsを使って無効化する。

「\t」というのはエスケープシーケンスという特殊文字といわれているものです。

エスケープシーケンスでよく使うのは改行コード「\n」ですね。
このコードを無効化することができるのがr-stringsというものです。

r-stringの使い方は下記のように文字列の先頭にrを付けるだけです。

r"C:\Users\Desktop\test.txt"
↑これがエスケープシーケンスを無効化してくれる。

ちなみに下記のように改行コードも無効化されます。

#r-stringの場合
print(r"test\ntest\ntest\n")
#出力結果
#test\ntest\ntest\n

#通常時
print("test\ntest\ntest\n")
test
test
test

僕はこれで問題が解決しましたが、まさかのもっと簡単な方法がありましたので紹介します。

「\」を「/」に変える。

pythonはファイルパスでは「\」と「/」は一緒みたいですね。
下記のコードは同じ扱いをされます。

"C:\Users\Desktop\test.txt"
上下のファイルパスは同じ意味
"C:/Users/Desktop/test.txt"

ただ、パスのコピーをすると\でコピーされてしまうので、階層が深すぎると変換するのがめんどくさいですよね笑

置換機能を活用したらいいんじゃないか?と思ったんですが、他のところも変更されて、改行コードが機能しなくなるとまたまためんどくさいので、気を付けた方がいいですね。

どっちをつかったらいいのか?

これはr-stringをおすすめします。
こっちの方がファイルパスをコピペして先頭に「r」を付けるだけですし、ファイルパスをいじらなくていいからですね。

慣れてる人からしたら今更感があるかもしれませんが初心者だったら躓くのではないでしょうか?
自分は躓くどころか衝突って感じでした笑

同じ問題を抱えている方の一助となれば幸いです。

コメント

タイトルとURLをコピーしました