BOP - The Future of Creative Engineers -


← ホームに戻る

Pythonの os モジュールについて

os モジュールは、Pythonが動作しているオペレーティングシステム(OS)とやり取りするための機能を提供します。ファイルやディレクトリの操作、環境変数の取得、プロセスの実行など、OSに依存する様々な操作を行うことができます。


基礎的な事

os モジュールをインポートすることで利用できます。

import os

OSに依存する機能なので、異なるOS(Windows, macOS, Linuxなど)で動作が異なる場合があります。 ファイルパスの操作など、OSに依存しないより高水準な操作を提供する pathlib モジュールもよく一緒に使われます。


よく使うコマンド

以下によく使う os モジュール内のコマンドとその簡単な説明を挙げます。

ファイルとディレクトリ操作:

環境変数:

プロセスの操作:


使用例

いくつかの簡単な使用例を示します。

現在の作業ディレクトリの取得と変更:

現在の作業ディレクトリを取得

current_dir = os.getcwd()
print(f"現在の作業ディレクトリ: {current_dir}")

新しい作業ディレクトリを指定

new_dir = "/tmp"
os.chdir(new_dir)
print(f"作業ディレクトリを '{new_dir}' に変更しました。")

変更後の作業ディレクトリを確認

print(f"現在の作業ディレクトリ: {os.getcwd()}")

元のディレクトリに戻る (例として)

os.chdir(current_dir)
print(f"作業ディレクトリを元に戻しました: {os.getcwd()}")

ディレクトリの作成とファイルの一覧表示:

新しいディレクトリを作成

new_directory = "my_new_folder"
if not os.path.exists(new_directory):
    os.mkdir(new_directory)
    print(f"ディレクトリ '{new_directory}' を作成しました。")
else:
    print(f"ディレクトリ '{new_directory}' は既に存在します。")

現在のディレクトリのファイルとディレクトリをリスト表示

print("現在のディレクトリのファイルとディレクトリ:")
for item in os.listdir():
    print(item)

作成したディレクトリを削除 (空の場合)

os.rmdir(new_directory)
print(f"ディレクトリ '{new_directory}' を削除しました。")

ファイルパスの結合:

folder = "data"
filename = "sample.txt"
full_path = os.path.join(folder, filename)
print(f"結合されたパス: {full_path}")

環境変数の取得:

PATH 環境変数を取得

path_env = os.environ.get("PATH")
if path_env:
    print(f"PATH 環境変数: {path_env[:100]}...") # 長い場合があるので一部を表示
else:
    print("PATH 環境変数は設定されていません。")

存在しない環境変数を取得 (デフォルト値を指定)

non_existent_var = os.getenv("NON_EXISTENT_VARIABLE", "デフォルト値")
print(f"存在しない環境変数: {non_existent_var}")

これらの例は os モジュールの基本的な使い方を示しています。より複雑なファイル操作やプロセス管理には、shutil モジュールや subprocess モジュールなども合わせて利用することが一般的です。