Os Path Module は、共通のパス名操作に使用される Python の OS モジュールのサブモジュールです。この記事では、os.path.join() とファイル パスの安全な処理について学びます。 Python OS 。
Python os.path.join() メソッドの構文
構文: os.path.join(パス, *パス)
パラメータ:
- パス : ファイル システム パスを表すパスのようなオブジェクト。
- *パス : ファイル システム パスを表すパスのようなオブジェクト。結合するパスのコンポーネントを表します。パスのようなオブジェクトは、パスを表す文字列またはバイト オブジェクトです。
- 注記: 特殊な構文 *引数 Python の関数定義の (ここでは *paths) は、可変数の引数を関数に渡すために使用されます。
戻り値の型: このメソッドは、連結されたパス コンポーネントを表す文字列を返します。
Python の os.path.join() メソッド
の os.path.join() Python のメソッドは、1 つ以上のパス コンポーネントをインテリジェントに結合します。このメソッドは、最後のパス コンポーネントを除く空でない各部分の後に、ディレクトリ区切り文字 (「/」) を 1 つだけ使用して、さまざまなパス コンポーネントを連結します。結合される最後のパス コンポーネントが空の場合は、ディレクトリ区切り文字 (「/」) が最後に追加されます。
パス コンポーネントが絶対パスを表す場合、結合された以前のコンポーネントはすべて破棄され、絶対パス コンポーネントから結合が続行されます。
os.path.join() 関数の例と使用例
以下は、ファイル パスを結合し、ファイル パスを安全に処理できるいくつかの例と使用例です。 パイソン あなた。
パスコンポーネントの連結
この例では、「os.path.join()」メソッドを使用してパス コンポーネントを連結し、有効なパスを効果的に構築します。コンポーネントを適切に結合することで、クロスプラットフォームの互換性が確保されます。
Python3
import> os> # Path> path>=> '/home'> # Join various path components> print>(os.path.join(path,>'User/Desktop'>,>'file.txt'>))> # Path> path>=> 'User/Documents'> # Join various path components> print>(os.path.join(path,>'/home'>,>'file.txt'>))> # Path> path>=> '/User'> # Join various path components> print>(os.path.join(path,>'Downloads'>,>'file.txt'>,>'/home'>))> |
>
c 配列内の文字列
>出力
/home/User/Desktop/file.txt /home/file.txt /home>
ファイルの読み取りと書き込み
この例では、os.path.join()>このメソッドは、ベース ディレクトリとファイル名を結合して完全なファイル パスを形成するために使用されます。構築されたパスは、次の名前のファイルの内容を読み取るために使用されます。example.txt>。
例.txt
techcodeview.com>
Python3
import> os> # Base directory and filename> base_dir>=> '/home/user'> filename>=> 'example.txt'> # Construct the full path> full_path>=> os.path.join(base_dir, filename)> # Reading and writing files using the full path> with>open>(full_path,>'r'>) as>file>:> >content>=> file>.read()> >print>(content)> |
>
>
出力:
techcodeview.com>
ディレクトリ内のファイルの一覧表示
この例では、「os.path.join()」メソッドを使用して、現在の作業ディレクトリ内の各ファイルの絶対パスを生成します。完全なパスが出力されるので、ディレクトリ内のすべてのファイルの包括的なリストが可能になります。
Python3
import> os> # Current working directory> current_dir>=> os.getcwd()> # List files in the current directory> files_in_dir>=> os.listdir(current_dir)> # Iterate over files and print their full paths> for> file_name>in> files_in_dir:> >file_path>=> os.path.join(current_dir, file_name)> >print>(file_path)> |
>
>出力
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>
For ループを使用したパスの反復処理
この例では、ループ内で `os.path.join()` メソッドを使用して、リストされた各ファイル名の絶対パスを動的に作成します。構築されたパスは、それぞれのファイルの処理を示すために出力されます。
Python3
Angular CLIをアンインストールする
import> os> # List of file names> names>=> [>'file1.txt'>,>'file2.txt'>,>'file3.txt'>]> # Iterate over file names and process each file> for> file_name>in> names:> >file_path>=> os.path.join(>'/home/user'>, file_name)> >print>(f>'Processing file: {file_path}'>)> |
>
>出力
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>