【python】os.path.join関数の使い方を解説します

python

pythonのos.path.joinについて調べる人

pythonのos.path.joinについて調べる人
「pythonでos.path.join関数を使いたいのですが、どのように記述すればいいでしょう。また、os.pathライブラリにはjoin関数以外にどのようなものがあるのでしょうか?あと具体的な例として、コピペできるソースコードも欲しいです。」

こんな疑問を解決します。

本記事のテーマ

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、細かい構文に迷ったら、例からコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

1.os.path.joinを使う時の構文

構文

os.path.join関数の構文は以下の通り、とてもシンプルです。

import os
os.path.join(《ファイルパス1》,《ファイルパス2》 [,《ファイルパス3》…] )

os.path.joinは、複数のパスをスマートに結合する関数です。戻り値は path、ディレクトリの区切り文字 (os.sep) を *paths の各パートの先頭に付けた文字列を返します。

2.pythonでのos.path.join関数の使い方

pythonでのmin関数の使い方

簡単な例

複数の数字の中から最も小さい値を抽出します。対象となる数は幾つ指定しても、マイナスの数を指定してもOKです。

>>> os.path.join("/tmp","dir1")
'/tmp/dir1'

>>> os.path.join("/tmp","dir1","dir2","file1.txt")
'/tmp/dir1/dir2/file1.txt'

>>> os.path.join(".","dir1","dir2","file1.txt")
'./dir1/dir2/file1.txt'

os.path.abspath関数との併用

os.path.abspath関数は、指定した相対ディレクトリパスを絶対パスに変更する関数です。カレントディレクトリの絶対パスを取得し、join関数でファイル名を付与する例を示します。

>>> os.path.join(os.path.abspath("."),"newfile.txt")
'/home/myUserID/newfile.txt'

ファイルの存在確認・読み込み

ファイルパスを生成し、該当のパスにファイルが存在すれば読み込みを行うプログラムをコーディングします。

>>> #ファイルパスの取得(先ほどの例と同じ処理)
>>> path=os.path.join(os.path.abspath("."),"newfile.txt")
>>> path
'/home/myUserID/newfile.txt'

>>> #ファイルの存在確認
>>> os.path.isfile(path)
True

>>> #ファイルが存在するかチェックし、存在すれば読み込みを行う
>>> if os.path.isfile(path):
...    f = open(path,'r')
...    f.read()
...    f.close()
'new test file.\n'

3.その他のos.pathライブラリ関数の使い方

その他のライブラリ関数の使用例をいくつか紹介しておきます。

>>> path=os.path.join(os.path.abspath("."),"newfile.txt")

>>> #ファイルサイズを取得
>>> os.path.getsize(path)
15

>>> #ファイル最終更新日時を取得する
>>> time.ctime(os.path.getmtime(path))
'Sat Dec 15 16:58:21 2018'

>>> #ファイル作成日時を取得する
>>> time.ctime(os.path.getmtime(path))
'Sat Dec 15 16:47:01 2018'

>>> #ファイルパスの分割
>>> os.path.split(path)
('/home/myUserID/', 'newfile.txt')

 

今回は以上です。pythonでのos.path.join関数を中心にos.pathライブラリの使い方を解説しました。pythonを使う際の参考になりましたら幸いです。

今、ITエンジニアは前例のない売り手市場です

ITエンジニアは前例のない売り手市場、転職なら今

現在のエンジニアの求人数と求人倍率をご存知ですか?

直近(※)のIT業界全体の求人倍率は7.85倍です。

つまり 企業が8回 IT人材の求人を出しても、 1人しかエントリーがない 状況です。

エンジニア側が企業を選ぶ なら、今がチャンスです。

※転職サイトdodaが毎月発表している転職求人倍率。
 2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら


人気記事【今年の抱負】退職しオープン&フリー&シンプルに生きていく【失敗しない働き方改革の本質】