理系母の趣味はプログラミング

理系院卒、メーカー技術職の二児の母が、PythonやVBAで色々と作ってアップしていくブログです。

【14日目】ファイル操作①どんなOSでも動作するファイルパスを組み立てる

こんばんは、なぺです。
今日も独学プログラマーで勉強します。

今回は、ファイルの操作についてです。
Pythonの外側にでていく感じが中級者ぽくてイイですね。

・ファイルパスは組み立てるもの
ファイルを扱うには、ファイルの住所であるファイルパスを扱えなければなりません。
しかし、ファイルパスの表し方は、OSによって違うらしいのです!
Windowsでは、ファイルの区切りにバックスラッシュ(\)を使いますが、macではスラッシュ(/) なのです。
ということは、バックスラッシュで区切ったファイルパスが記述してあるプログラムは、Windowsでは動くのに、Macではエラーがでた、なんてことが起こり得ます。

これを防ぐために、ファイルパスはPythonに組み立ててもらいます。
osモジュールのos.path.join関数を使えば、複数のフォルダ名を引数として受け取り、そのフォルダ名からパスを組み立てることができます。

>>> import os
>>> os.path.join("Users","nap","st.txt")
'Users\\nap\\st.txt'

あれれ~?
バックスラッシュが二つ重なってるよ~(\\)
aaa\bbb\ccc.txtの形式に慣れているので違和感。

本当にあるフォルダを使ってファイルパスを組み立てて確かめてみる。
すると、ちゃんとファイルが開けました^^
なんで二つ重ねるの??と考えてみると
\はエスケープ文字のため、\一本だけだとエスケープされてしまう。だから二つ重ねるのだ!
と自分の中ではこの説で納得したのですが、勘違いしてたらご指摘ください!

今日は疲れたので終わります。

毎日少しでも更新するのが目標^^

今日で14日目ということで2週間過ぎましたが
二週間だけでもPythonにだいぶ慣れたような気がしてます(ポジティブ)

ちなみに使ってる教材はこちら。


それではまた^^