Python3 OS ファイル/ディレクトリメソッド
osモジュールは Python 標準ライブラリの重要なモジュールであり、オペレーティングシステムと対話する機能を提供します。
を通じてosモジュールを使用すると、ファイル操作、ディレクトリ操作、環境変数の管理、プロセス管理などのタスクを実行できます。
osモジュールはクロスプラットフォームであり、異なるオペレーティングシステム(Windows、Linux、macOS など)で同じコードを使用できることを意味します。
モジュールを使用するos前に、まずそれをインポートする必要があります。インポートするosモジュールのコードは次のとおりです:
import os
os モジュールのよく使う機能
1. 現在の作業ディレクトリを取得する
os.getcwd()関数は現在の作業ディレクトリのパスを取得するために使用されます。現在の作業ディレクトリは、Python スクリプトが実行されるディレクトリです。
例
print("現在の作業ディレクトリ:", current_directory)
2. 現在の作業ディレクトリを変更する
os.chdir(path)関数は現在の作業ディレクトリを変更するために使用されます。pathは、切り替えたいディレクトリのパスです。
例
print("新しい作業ディレクトリ:", os.getcwd())
3. ディレクトリの内容を一覧表示する
os.listdir(path)関数は、指定されたディレクトリ内のすべてのファイルとサブディレクトリを一覧表示するために使用されます。パラメータを指定しない場合、pathデフォルトで現在の作業ディレクトリの内容を一覧表示します。
例
print("ディレクトリの内容:", files_and_dirs)
4. ディレクトリを作成する
os.mkdir(path)関数は新しいディレクトリを作成するために使用されます。ディレクトリがすでに存在する場合は、FileExistsError例外がスローされます。
例
5. ディレクトリを削除する
os.rmdir(path)関数は空のディレクトリを削除するために使用されます。ディレクトリが空でない場合は、OSError例外がスローされます。
例
6. ファイルを削除する
os.remove(path)関数はファイルを削除するために使用されます。ファイルが存在しない場合は、FileNotFoundError例外がスローされます。
例
7. ファイルまたはディレクトリの名前を変更する
os.rename(src, dst)関数はファイルまたはディレクトリの名前を変更するために使用されます。srcは元のパスです。dstは新しいパスです。
例
8. 環境変数を取得する
os.getenv(key)関数は指定された環境変数の値を取得するために使用されます。環境変数が存在しない場合は、返します。None。
例
print("HOME ディレクトリ:", home_directory)
9. システムコマンドを実行する
os.system(command)関数は、オペレーティングシステムのシェルでコマンドを実行するために使用されます。コマンド実行後、コマンドの終了ステータスを返します。
例
os のよく使うメソッド
osモジュールは、ファイルとディレクトリを処理するための非常に豊富なメソッドを提供します。よく使われるメソッドは次の表のとおりです。
| 番号 | メソッドと説明 |
|---|---|
| 1 | 権限モードを検査する |
| 2 | 現在の作業ディレクトリを変更する |
| 3 | パスのフラグを数値フラグに設定します。 |
| 4 | 権限を変更する |
| 5 | ファイルの所有者を変更する |
| 6 | 現在のプロセスのルートディレクトリを変更する |
| 7 | ファイル記述子 fd を閉じる |
| 8 | os.closerange(fd_low, fd_high) すべてのファイル記述子を閉じます。fd_low(含む)から fd_high(含まない)まで、エラーは無視されます。 |
| 9 | ファイル記述子 fd をコピーする |
| 10 | ファイル記述子 fd を別の fd2 にコピーします。 |
| 11 | ファイル記述子を介して現在の作業ディレクトリを変更する |
| 12 | パラメータ fd で指定されたファイルのアクセス権限を変更します。パラメータ mode は Unix でのファイルアクセス権限です。 |
| 13 | ファイルの所有権を変更します。この関数は、ファイル記述子 fd で指定されたファイルのユーザー ID とユーザーグループ ID を変更します。 |
| 14 | ファイル記述子 fd で指定されたファイルをディスクに強制的に書き込みますが、ファイルのステータス情報の更新は強制しません。 |
| 15 | os.fdopen(fd[, mode[, bufsize]]) ファイル記述子 fd を介してファイルオブジェクトを作成し、このファイルオブジェクトを返します。 |
| 16 | 開いているファイルのシステム構成情報を返します。name は取得するシステム構成の値で、システム値を定義する文字列かもしれません。これらの名前は多くの標準(POSIX.1、Unix 95、Unix 98、その他)で指定されています。 |
| 17 | ファイル記述子 fd のステータスを stat() と同様に返します。 |
| 18 | ファイル記述子 fd が含まれるファイルのファイルシステム情報を返します。Python 3.3 では statvfs() と同等です。 |
| 19 | ファイル記述子が fd であるファイルをハードディスクに強制的に書き込みます。 |
| 20 | ファイル記述子 fd に対応するファイルを切り詰めます。したがって、ファイルサイズを超えることはできません。 |
| 21 | 現在の作業ディレクトリを返します |
| 22 | 現在の作業ディレクトリの Unicode オブジェクトを返します |
| 23 | ファイル記述子 fd が開いており、かつ tty(-like)デバイスに接続されている場合は true を返し、それ以外の場合は False を返します。 |
| 24 | パスのフラグを数値フラグに設定します。chflags() に似ていますが、シンボリックリンクをたどりません。 |
| 25 | リンクファイルの権限を変更します。 |
| 26 | ファイルの所有者を変更します。chown に似ていますが、リンクを追跡しません。 |
| 27 | パラメータ dst という名前で、パラメータ src を指すハードリンクを作成します。 |
| 28 | path で指定されたフォルダーに含まれるファイルまたはフォルダーの名前のリストを返します。 |
| 29 | ファイル記述子 fd の現在位置を pos に設定します。how の方法で変更します:SEEK_SET または 0 はファイルの先頭から計算した pos を設定します。SEEK_CUR または 1 は現在位置から計算します。os.SEEK_END または 2 はファイルの末尾から計算します。Unix、Windows で有効です。 |
| 30 | stat() と同様ですが、シンボリックリンクをたどりません。 |
| 31 | 元のデバイス番号からデバイスの major 番号を抽出します(stat の st_dev または st_rdev フィールドを使用)。 |
| 32 | major と minor のデバイス番号から元のデバイス番号を構成します。 |
| 33 | 再帰的なフォルダー作成関数です。mkdir() に似ていますが、サブフォルダーを格納するために必要なすべての中間レベルフォルダーを作成します。 |
| 34 | 元のデバイス番号からデバイスの minor 番号を抽出します(stat の st_dev または st_rdev フィールドを使用)。 |
| 35 | 数値 mode で path という名前のフォルダーを作成します。デフォルトの mode は 0777(8進数)です。 |
| 36 | 名前付きパイプを作成します。mode は数値で、デフォルトは 0666(8進数)です。 |
| 37 | os.mknod(filename[, mode=0600, device]) |
| 38 | ファイルを開き、必要なオープンオプションを設定します。mode パラメータはオプションです。 |
| 39 | 新しい疑似端末のペアを開きます。pty と tty のファイル記述子を返します。 |
| 40 | 関連するファイルのシステム構成情報を返します。 |
| 41 | パイプを作成します。読み取り用と書き込み用のファイル記述子のペア (r, w) を返します。 |
| 42 | os.popen(command[, mode[, bufsize]]) command からパイプを開きます。 |
| 43 | ファイル記述子 fd から最大 n バイトを読み取り、読み取ったバイトを含む文字列を返します。ファイル記述子 fd に対応するファイルが末尾に達した場合は、空の文字列を返します。 |
| 44 | シンボリックリンクが指すファイルを返します。 |
| 45 | path のファイルを削除します。path がフォルダーの場合は OSError がスローされます。以下の rmdir() を参照してディレクトリを削除してください。 |
| 46 | ディレクトリを再帰的に削除します。 |
| 47 | ファイルまたはディレクトリの名前を src から dst に変更します。 |
| 48 | ディレクトリの名前を再帰的に変更します。ファイルの名前を変更することもできます。 |
| 49 | path で指定された空のディレクトリを削除します。ディレクトリが空でない場合は、OSError 例外がスローされます。 |
| 50 | path で指定されたパスの情報を取得します。機能は C API の stat() システムコールと同等です。 |
| 51 | os.stat_float_times([newvalue]) |
| 52 | 指定されたパスのファイルシステム統計情報を取得します。 |
| 53 | シンボリックリンクを作成します。 |
| 54 | 端末 fd(os.open() によって返される開いているファイル記述子)に関連付けられたプロセスグループを返します。 |
| 55 | 端末 fd(os.open() によって返される開いているファイル記述子)に関連付けられたプロセスグループを pg に設定します。 |
| 56 | os.tempnam([dir[, prefix]]) Python3 では削除されました。一時ファイルを作成するための一意のパス名を返します。 |
| 57 | os.tmpfile() Python3 では削除されました。モード(w+b)で開かれたファイルオブジェクトを返します。このファイルオブジェクトにはフォルダエントリがなく、ファイル記述子もなく、自動的に削除されます。 |
| 58 | os.tmpnam() Python3 では削除されました。一時ファイルを作成するための一意のパスを返します。 |
| 59 | ファイル記述子fdに関連付けられた端末デバイスを表す文字列を返します。fdが端末デバイスに関連付けられていない場合は、例外が発生します。 |
| 60 | ファイルパスを削除します。 |
| 61 | 指定されたpathファイルのアクセス時刻と修正時刻を返します。 |
| 62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) ツリーを上方向または下方向に走査して、フォルダ内のファイル名を出力します。 |
| 63 | 文字列をファイル記述子fdに書き込みます。実際に書き込まれた文字列の長さを返します。 |
| 64 | ファイルの属性情報を取得します。 |
| 65 | 現在のディレクトリの親ディレクトリを取得し、文字列形式でディレクトリ名を表示します。 |
| 66 | ファイルまたはディレクトリの名前を変更します。 |
| 67 | Windows上でファイルまたはフォルダを開くために使用します。 |