osモジュールは、OSに依存しているさまざまな機能を利用するためのモジュールです。
主にファイルやディレクトリ操作が可能で、ファイルの一覧やpathを取得できたり、新規にファイル・ディレクトリを作成することができます。
ここでは、そんな便利なosモジュールについて、以下の内容で解説していきます。
- os.walk()の使い方
- os.system()の使い方
- os.listdir()の使い方
- os.path()の使い方
- os.environ()の使い方
- os.mkdir()の使い方
- os.rename()の使い方
- os remove()の使い方
osモジュールで使用できる主要なメソッドについてまとめていますので、ぜひ参考にしてください!
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()の詳しい使い方については、以下の記事で詳しく解説しています!
【python入門】os.walkを使ってディレクトリ走査をしてみよう!
更新日 : 2019年1月15日
os.system()
os.system()はUnixのコマンドをPythonで記述するためのモジュールです。たとえば、Unixコマンドでファイルの一覧を取得するlsコマンドを実行する場合は以下のように記述します。
import os
os.system("ls")
このように引数にコマンドを指定すれば、Unixコマンド同様の結果が得られます。
os.system()については以下の記事で詳しく解説しています!
【python】os.systemはもう古い!?subprocessでコマンドを実行しよう!
更新日 : 2020年5月8日
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()については以下の記事で詳しく解説しています!
【python入門】os.listdirでファイル・ディレクトリの一覧を取得
更新日 : 2019年5月2日
os.path()
os.path()モジュールは、「ファイルやディレクトリの存在確認」、「指定したパスのファイル名の取得」、「パスやファイル名の結合」などの用途で使用します。
以下の表はos.path()でよく使われるメソッドの一覧です。
exists() | ファイル及びディレクトリの存在確認ができます。戻り値はBool型になります。 |
isdir() | ディレクトリの存在確認ができます。戻り値はBool。 |
isfile() | ファイルの存在確認ができます。戻り値はBool。 |
basename() | 指定されたパスのファイル名を返します。 |
dirname() | 指定されたパスからファイル名を除いたものを返します。 |
split() | 指定されたパスのファイル名と、それまでのパスを返します。 |
splitext() | 指定されたファイルの拡張子と拡張子を除くファイル名までのパスを返します。 |
join() | パスとファイル名などを結合させる事ができます。 |
os.path()については以下の記事で詳しく解説しています!
【python入門】パス名操作はos.path()を活用しよう!
更新日 : 2019年8月20日
os.environ()
os.environ()は環境変数を取得したり、書き込み・上書きするときに使われます。環境変数とはシステムが参照している共通の変数のことで、環境に関するデータや共通で使用するファイルのパスなどを保持するために使われています。
たとえば、Pythonで環境変数の書き込みを行うときは、以下のように記述します。
サンプルプログラム
import os
os.environ["PHASE"] = "staging"
print("env(): " + os.environ["PHASE"])
実行結果:
env(): staging
os.environ()については以下の記事で詳しく解説しています!
【Python入門】os.environ()を使って環境変数を活用しよう!
更新日 : 2020年5月8日
os.mkdir()
os.mkdir()を使用すると、簡単にディレクトリを作成することができます。たとえば、dir配下にsubディレクトリを作る場合は以下のように記述します。
サンプルプログラム
import os
path = './dir/sub'
os.mkdir(path)
os.mkdir()については以下の記事で詳しく解説しています!
【Python入門】ディレクトリを簡単に作成する|os.mkdir・os.makedirs
更新日 : 2019年1月8日
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()については以下の記事で詳しく解説しています!
【Python入門】os.renameでファイル名を変更する方法を解説!
更新日 : 2019年7月31日
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()については以下の記事で詳しく解説しています!
【Python入門】ファイル・ディレクトリを削除|os.remove・os.rmdir
更新日 : 2019年1月15日
まとめ
ここでは、OSに依存しているさまざまな機能を利用できるosモジュールについて、以下の内容を解説しました。
- os.walk()の使い方
- os.system()の使い方
- os.listdir()の使い方
- os.path()の使い方
- os.environ()の使い方
- os.mkdir()の使い方
- os.rename()の使い方
- os remove()の使い方
osモジュールはファイルやディレクトリの操作でよく使われますので、使い方についてはしっかりと理解しておきましょう!