【これでバッチリ!】Pythonのosモジュール使い方まとめ

osモジュールは、OSに依存しているさまざまな機能を利用するためのモジュールです。

主にファイルやディレクトリ操作が可能で、ファイルの一覧やpathを取得できたり、新規にファイル・ディレクトリを作成することができます。

ここでは、そんな便利なosモジュールについて、以下の内容で解説していきます。

  • os.walk()の使い方
  • os.system()の使い方
  • os.listdir()の使い方
  • os.path()の使い方
  • os.environ()の使い方
  • os.mkdir()の使い方
  • os.rename()の使い方
  • os remove()の使い方

osモジュールで使用できる主要なメソッドについてまとめていますので、ぜひ参考にしてください!

なお、Pythonの記事については、こちらにまとめています。

os.walk()

os.walk()は、ファイルやディレクトリの一覧を取得するためのモジュールです。引数でディレクトリ名を指定することにより、ファイルや特定の拡張子の一覧やファイルパスを取得することができます。

たとえば、ファイルの一覧を取得したい場合は以下のように記述します。

ディレクトリ構成

test/
┣ dirA
┃ ┣ a-1.txt
┃ ┣ a-2.txt
┃ ┗ dirD/
┃ ┗ d-1.txt
┃
┣ dirB/
┃ ┣ b-1.py
┃ ┗ b-2.py
┃
┗ dirC/
  ┣ c-1.txt
  ┗ c-2.txt

サンプルプログラム

import os
 
for curDir, dirs, files in os.walk("test"):
    for f in files:
        print(os.path.join(curDir, f))

実行結果:

b-2.py
b-1.py
c-1.txt
c-2.txt
a-2.txt
a-1.txt
d-1.txt

os.walk()の詳しい使い方については、以下の記事で詳しく解説しています!


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

os.system()

os.system()はUnixのコマンドをPythonで記述するためのモジュールです。たとえば、Unixコマンドでファイルの一覧を取得するlsコマンドを実行する場合は以下のように記述します。

import os
 
os.system("ls")

このように引数にコマンドを指定すれば、Unixコマンド同様の結果が得られます。

os.system()については以下の記事で詳しく解説しています!

os.listdir()

os.listdir()はファイルやディレクトリの一覧を確認するときに使用します。たとえば、ファイルの一覧を取得したい場合は以下のように記述します。

ディレクトリ構成

└── dir
    ├── sample1.txt
    ├── sample2.txt
    ├── sample3.txt
    ├── subdir1
    └── subdir2

サンプルプログラム

import os
 
path = './dir'
 
flist = os.listdir(path)
print(flist)

実行結果:

['subdir2', 'Untitled.ipynb', 'test2.csv', 'subdir1', 'test1.csv', '.ipynb_checkpoints', 'sample1.txt', 'sample2.txt', 'sample3.txt']

os.listdir()については以下の記事で詳しく解説しています!


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

os.path()

os.path()モジュールは、「ファイルやディレクトリの存在確認」、「指定したパスのファイル名の取得」、「パスやファイル名の結合」などの用途で使用します。

以下の表はos.path()でよく使われるメソッドの一覧です。

exists()ファイル及びディレクトリの存在確認ができます。戻り値はBool型になります。
isdir()ディレクトリの存在確認ができます。戻り値はBool。
isfile()ファイルの存在確認ができます。戻り値はBool。
basename()指定されたパスのファイル名を返します。
dirname()指定されたパスからファイル名を除いたものを返します。
split()指定されたパスのファイル名と、それまでのパスを返します。
splitext()指定されたファイルの拡張子と拡張子を除くファイル名までのパスを返します。
join()パスとファイル名などを結合させる事ができます。

os.path()については以下の記事で詳しく解説しています!

os.environ()

os.environ()は環境変数を取得したり、書き込み・上書きするときに使われます。環境変数とはシステムが参照している共通の変数のことで、環境に関するデータや共通で使用するファイルのパスなどを保持するために使われています。

たとえば、Pythonで環境変数の書き込みを行うときは、以下のように記述します。

サンプルプログラム

import os
 
os.environ["PHASE"] = "staging"
 
print("env(): " + os.environ["PHASE"])

実行結果:

env(): staging

os.environ()については以下の記事で詳しく解説しています!

os.mkdir()

os.mkdir()を使用すると、簡単にディレクトリを作成することができます。たとえば、dir配下にsubディレクトリを作る場合は以下のように記述します。

サンプルプログラム

import os
 
path = './dir/sub'
 
os.mkdir(path)

os.mkdir()については以下の記事で詳しく解説しています!

os.rename()

os.rename()はファイル名を指定した名称に変更するときに使用します。

os.rename()は変更前のファイル名と変更後のファイル名を指定します。以下のサンプルでは「sample_00.txt」を「sample_01.txt」に変更しています。

サンプルプログラム

import os
 
# 変更前ファイル
path1 = './dir/sample_00.txt'
 
# 変更後ファイル
path2= './dir/sample_01.txt'
 
# ファイル名の変更
os.rename(path1, path2)
 
# ファイルの存在確認
print(os.path.exists(path2))

実行結果:

True

os rename()については以下の記事で詳しく解説しています!

os remove()

os.remove()はファイルを削除するために使用します。

削除するにはos.remove()の引数に削除したいファイル名をパスから指定します。以下のサンプルでは、「./dir/sample.txt」のファイルを削除しています。

サンプルプログラム

import os
 
path = './dir/sample.txt'
 
os.remove(path)
 
print(os.path.exists(path))

実行結果:

False

os remove()については以下の記事で詳しく解説しています!

まとめ

ここでは、OSに依存しているさまざまな機能を利用できるosモジュールについて、以下の内容を解説しました。

  • os.walk()の使い方
  • os.system()の使い方
  • os.listdir()の使い方
  • os.path()の使い方
  • os.environ()の使い方
  • os.mkdir()の使い方
  • os.rename()の使い方
  • os remove()の使い方
osモジュールはファイルやディレクトリの操作でよく使われますので、使い方についてはしっかりと理解しておきましょう!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close