windowsのpathをlinux向けに変換する
windows向けのパスは\
(バックスラッシュ)が用いられるため、linux向けにpathを変換するには/
(スラッシュ)に置換する必要がある。ただし、pythonでは\
を特殊文字として扱うことが多く、置換するのに苦労したのでまとめます。
他のスクリプトから、もしくは、ファイルを読み込むことで取得したwindows_path
が\\172.0.0.1\tmp\aaaa\bbbb\cccc
で、\\172.0.0.1\tmp
がlinux上では/mnt/tmp
にマウントされているとします。
まず、マウントのpathに置換します。ここでポイントなのは特殊文字を無視するため、\
(バックスラッシュ)の前にr
をつけます。
linux_path = windows_path.replace(r'\\172.0.0.1\tmp', '/mnt/tmp')
print(linux_path)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/mnt/tmp\aaaa\bbbb\cccc
残っている、\
(バックスラッシュ)を/
(スラッシュ)に置換します。その際、re
が必要となるため、importしておいてください。
import re
linux_path = re.sub(r'\\', '/', linux_path)
print(linux_path)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/mnt/tmp/aaaa/bbbb/cccc
以上、参考になればと思います。
コメント