osモジュールは、OSに依存しているさまざまな機能を利用するためのモジュールです。
主にファイルやディレクトリ操作が可能で、ファイルの一覧やpathを取得できたり、新規にファイル・ディレクトリを作成することができます。
ここでは、そんな便利なosモジュールについて、以下の内容で解説していきます。
- os.walk()の使い方
- os.system()の使い方
- os.listdir()の使い方
- os.path()の使い方
- os.environ()の使い方
- os.mkdir()の使い方
- os.rename()の使い方
- os remove()の使い方
osモジュールで使用できる主要なメソッドについてまとめていますので、ぜひ参考にしてください!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他の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()については以下の記事で詳しく解説しています!
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モジュールはファイルやディレクトリの操作でよく使われますので、使い方についてはしっかりと理解しておきましょう!