pythonでファイルコピーの処理などを書くときに、ファイルのパスなどを書くことがありますが、\などをエスケープしないと書けないなど面倒くさいことが多いと思います。
pythonではraw文字列を使用するとパスなどをそのままかけるのですごく便利です。
raw文字列を使用しない場合
C:\test\test1\test2というパスを表現したい時を例に書きます。説明で使用している\と\は、同じ意味だと考えてください。
raw文字列を使わずそのまま入力すると
raw文字列を使わずにそのままパスを入力してしまうと実行結果は、\tがタブと認識されてしまいおかしな実行結果になってしまいます。
#raw文字列を使わない場合
text = "C:\test\test1\test2"
print(text)
実行結果
C: est est1 est2
raw文字列を使わない場合はエスケープする。
raw文字列を使わずにパスを表現したい場合は以下のように\マークでエスケープして入力する必要があります。
よく使うエスケープシーケンスは以下の通りです。
エスケープシーケンス | 意味 |
\改行 | \と改行をを無視 |
\\ | \ |
\’ | シングルクォーテーション |
\” | ダブルクォーテーション |
\t | タブ(Tab) |
\n | 行送り(LF) |
#raw文字列を使わずエスケープシーケンス
text = "C:\\test\\test1\\test2"
print(text)
実行結果
C:\test\test1\test2
raw文字列を使用するとそのままでOK
raw文字列で入力させるとパスをそのまま入力すればOKなので非常に見やすいですし、簡単です。raw文字列を使用するには、文字列の前にrを付与するだけでpythonではOKです。windowsのパスは特に\を多用するのでraw文字列で書いた方が便利です。
raw文字列を使用して入力
#raw文字列で入力した場合
text = r"C:\test\test1\test2"
print(text)
実行結果
C:\test\test1\test2
まとめ
- Windowのパスなどを入力するときはraw文字列を使うと便利
- raw文字列は文字列の前にrを付与するだけ
- エスケープしなくてそのまま文字列が出力されるので便利
コメント