Pythonには、ファイルやフォルダ(ディレクトリ)を操作するための便利なモジュールがいくつも用意されています。その中でも特に多く使われているのが「osモジュール」です。この記事では、Pythonでファイル操作を行いたいときに欠かせないosモジュールについて、基本から応用まで丁寧に解説します。初心者の方でも理解できるよう、専門用語には説明を加えながら進めていきます。
osモジュールとは?Pythonでファイル操作を行うための標準モジュール
osモジュールは、Pythonに標準で備わっているモジュールの1つで、ファイルやフォルダの操作、環境変数へのアクセス、現在の作業ディレクトリの取得・変更など、オペレーティングシステム(Operating System)に関わるさまざまな操作を実現できます。
特にファイルやディレクトリの操作に関しては、他の外部ライブラリを使わずに簡単に処理できるため、プログラムの基本的な構造を学ぶ段階でもよく使われます。
Pythonでosモジュールを使う準備:import文の基本
osモジュールを使うには、まず最初にPythonファイルの中で次のようにインポート(読み込み)します。
import os
この1行を書くだけで、以降osモジュールのさまざまな関数を使えるようになります。
osモジュールの基本関数:ファイル操作を覚えよう
Pythonでファイルやディレクトリの操作をする際に、頻繁に使うosモジュールの関数を紹介します。
ファイルやディレクトリの存在確認
os.path.exists('ファイル名またはパス')
ファイルやフォルダが存在するかどうかを調べます。戻り値はTrue(存在する)かFalse(存在しない)です。
os.path.isfile('パス') # ファイルかどうか
os.path.isdir('パス') # ディレクトリかどうか
これらの関数で、対象がファイルかディレクトリかを判定できます。
ファイルやディレクトリの作成
os.mkdir('ディレクトリ名')
新しいディレクトリ(フォルダ)を作成します。
os.makedirs('階層の深い/ディレクトリ名')
途中の階層が存在しない場合でも、まとめてディレクトリを作成できます。
ファイルやディレクトリの削除
os.remove('ファイル名')
指定したファイルを削除します。
os.rmdir('ディレクトリ名')
空のディレクトリを削除します。
import shutil
shutil.rmtree('ディレクトリ名')
空でないディレクトリを削除する場合は、shutilモジュールのrmtree()
を使います。
ディレクトリの移動やファイルの名前変更
os.rename('元の名前', '新しい名前')
ファイルやフォルダの名前変更、もしくは場所を移動するときに使います。
osモジュールで現在の作業ディレクトリを扱う方法
Pythonでの「現在の作業ディレクトリ(カレントディレクトリ)」とは、ファイルの読み書きの起点になるフォルダのことです。
os.getcwd()
現在の作業ディレクトリのパスを取得します。
os.chdir('移動したいディレクトリ')
作業ディレクトリを変更するにはこの関数を使います。
ファイル一覧の取得やループ処理に便利なos.listdir()
ディレクトリ内のファイルやフォルダの一覧を取得したいときは、次の関数が便利です。
os.listdir('対象のパス')
指定したフォルダ内にあるファイル・ディレクトリの名前がリストとして返されます。
for name in os.listdir('.'):
print(name)
このようにループ処理を組み合わせることで、フォルダ内のすべてのファイルを順に処理することができます。
パス操作もosモジュールで簡単に
osモジュールには、パスの結合や分割などを簡単にするための関数も用意されています。
os.path.join('フォルダ名', 'ファイル名')
フォルダとファイル名を結合し、正しいパスを生成します。OSによってパス区切り文字(\ または /)が異なっても、自動で調整してくれます。
os.path.basename('パス') # ファイル名だけを取り出す
os.path.dirname('パス') # ディレクトリ部分だけを取り出す
これらを使えば、ファイルのフルパスから必要な情報だけを簡単に取得できます。
応用:環境変数を扱うosモジュールの便利な機能
環境変数とは、OSやシステムの設定をプログラム内で利用するための情報です。例えばログインユーザー名や一時ファイルの保存先などが含まれます。
os.environ['環境変数名']
特定の環境変数の値を取得できます。例:
print(os.environ['HOME']) # Unix系
print(os.environ['USERPROFILE']) # Windows
os.environ.get('変数名', 'デフォルト値')
指定した環境変数が存在しないときは、代わりにデフォルト値を返すようにできます。
まとめ
この記事では、Pythonでファイル操作を行う際に活躍するosモジュールについて、基本的な使い方から便利な関数まで解説しました。osモジュールを使えば、ファイルやディレクトリの作成・削除・移動といった処理が簡単に実現でき、作業の自動化やファイル管理に非常に役立ちます。
特に初心者の方は、まずはよく使われる関数を覚えて、小さなプログラムから試してみると理解が深まります。今後Pythonでファイル操作をしたいと考えているなら、まずはosモジュールをしっかり使いこなせるようになりましょう。