【Python入門】osモジュール完全攻略!ファイル操作の基本をマスターしよう

こんにちは。ゆうせいです。

プログラミングを学び始めると、テキストファイルに何かを書き出したり、逆に読み込んだりする機会がすぐに出てきますよね。でも、そのファイルは一体どこにあるのでしょうか?新しいフォルダを作りたいときはどうすればいいのでしょう?

そんな、プログラムの中からコンピュータそのものを操作したいときに大活躍するのが、今回ご紹介するPythonの「osモジュール」なんです。これを使いこなせると、あなたのプログラムはもっとパワフルで、もっと自動化されたものになりますよ!

今日は、新人エンジニアのあなたに向けて、osモジュールの基本的な使い方を、会話するように楽しく解説していきますね。

osモジュールって、一体何者?

osモジュールは、Pythonに標準で組み込まれているモジュールの一つで、「Operating System(オペレーティング・システム)」の略です。なんだか難しそうに聞こえますか?

大丈夫!要するに、あなたのパソコンのOS(WindowsやmacOS、Linuxなど)が持つ機能と対話するための道具だと考えてみてください。

例えば、あなたが部屋を片付けるとき、手を使って本を棚にしまったり、新しい収納ボックスを組み立てたり、不要なものをゴミ箱に捨てたりしますよね。osモジュールは、プログラムにとっての「手」のようなものです。ファイルやフォルダを、まるで手で操作するように自由に扱えるようにしてくれる、とっても便利な存在なのです。

osモジュールでできることの基本

では早速、osモジュールが持つたくさんの機能の中から、特に新人エンジニアが最初に覚えるべき基本的な操作をいくつか見ていきましょう!

1. 「今、自分はどこにいる?」を確認する

プログラムを実行すると、そのプログラムはコンピュータの中の特定の「場所(ディレクトリ)」で動いています。まずは、その現在地を確認してみましょう。

import os

# 現在の作業ディレクトリを取得して表示する
current_directory = os.getcwd()
print(f"今いる場所はここです: {current_directory}")

os.getcwd() という命令を使います。「get current working directory」の略で、直訳すると「現在の作業ディレクトリを取得する」ですね。これを実行すると、このPythonスクリプトが今どこで実行されているのか、その場所への住所(パス)を教えてくれます。

2. 周りを見渡す!フォルダの中身を一覧表示

自分の場所がわかったら、次はその場所に何があるのか気になりますよね?そんなときは os.listdir() を使います。

import os

# 現在のディレクトリにあるファイルやフォルダの一覧を取得
file_list = os.listdir('.') # '.' は現在のディレクトリを意味します
print("ここには、こんなものがありますよ:")
print(file_list)

まるで部屋のドアを開けて、中にある家具や小物をざっと眺めるような感覚です。ファイル名やフォルダ名がリスト形式で取得できるので、特定のファイルを探す処理などに応用できます。

3. 新しいフォルダ(ディレクトリ)を作る・移動する

整理整頓のために、新しい箱を用意したくなることもありますよね。osモジュールを使えば、新しいフォルダを簡単に作れます。

import os

# 'documents' という名前の新しいフォルダを作成する
os.mkdir('documents')
print("「documents」フォルダを作成しました!")

# 作成したフォルダに移動してみる
os.chdir('documents')
print(f"移動後の現在地: {os.getcwd()}")

os.mkdir() で新しいフォルダを作り、os.chdir() でそのフォルダの中に移動しています。「change directory」の略ですね。これで、プログラムの作業場所を自由自在に変更できます!

4. ファイルやフォルダを削除する

もちろん、不要になったものを片付ける機能もあります。ただし、この操作は少し注意が必要です!

  • os.remove('ファイル名'): ファイルを削除します。
  • os.rmdir('フォルダ名'): 中身が空のフォルダを削除します。
import os

# # 例:不要なファイルを削除する
# # この行を実行すると本当に消えてしまうので注意してください!
# os.remove('old_report.txt') 

# # 例:空になったフォルダを削除する
# os.rmdir('temporary_folder')

これらの命令は、コンピュータのゴミ箱を経由せずに直接データを消去してしまいます。一度消すと元に戻すのは非常に困難です。まるでシュレッダーにかけるようなものだと考えて、使う前には「本当に消して大丈夫かな?」と一呼吸おくようにしてくださいね。

osモジュールを使う大きなメリット

osモジュールの最大のメリットは、OSによる環境の違いを吸収してくれる点にあります。

例えば、Windowsでフォルダの場所を示す区切り文字は「\」(バックスラッシュ)ですが、macOSやLinuxでは「/」(スラッシュ)が使われます。もし自分でファイルパスを文字列として作ってしまうと、Windowsで動いたプログラムがmacOSでは動かない、なんてことが起きてしまうのです。

しかし、osモジュール、特にその中にある os.path という機能を使えば、そんな心配は無用です。

import os

# OSに最適なパスの文字列を自動で作成してくれる
# これならWindowsでもmacOSでも正しく動く!
file_path = os.path.join('documents', 'report.txt')
print(file_path)

os.path.join() は、OSの種類を自動で判断して、適切な区切り文字でパスを連結してくれます。これぞ、プロフェッショナルなコードの書き方です!

まとめと次のステップ

いかがでしたか?osモジュールが、プログラムとコンピュータをつなぐための、とても重要な役割を持っていることが感じられたでしょうか。

  • os.getcwd(): 現在地を知る
  • os.listdir(): 周りを見渡す
  • os.mkdir(), os.chdir(): 新しい場所を作り、移動する
  • os.remove(), os.rmdir(): 片付けをする(取扱注意!)
  • os.path.join(): どこでも通用する住所の書き方を覚える

まずはこの基本操作を覚えるだけで、ファイルの自動整理スクリプトを作ったり、プログラムの実行結果を日付ごとのフォルダに保存したりと、できることの幅がぐんと広がりますよ。

さて、今後の学習の指針です。

osモジュールの基本をマスターしたら、次はぜひ pathlib という、より新しくて直感的にファイルパスを扱えるモジュールを学んでみてください。最近のPythonプログラミングでは、pathlib を使うのが主流になりつつあります。osモジュールで基本概念を理解したあなたなら、きっとすぐに使いこなせるはずです。

恐れずに、どんどんコンピュータに命令を出して、仲良くなっていきましょう!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。