Python | os.path.join() method (original) (raw)

Last Updated : 11 Jul, 2025

The os.path.join() method is a function in the os module that joins one or more path components intelligently. It constructs a full path by concatenating various components while automatically inserting the appropriate path separator (/ for Unix-based systems and \ for Windows).

**Example

Python `

import os

Example of using os.path.join

path = os.path.join("/home", "user", "documents", "/etc", "config.txt") print(path)

`

**Explanation: In this case, the presence of the absolute path "/etc" resets the earlier components, resulting in only the absolute path being displayed.

Python os.path.join() Method Syntax

**Syntax: os.path.join(path, *paths)

**Parameter:

**Return Type: This method returns a string which represents the concatenated path components.

How os.path.join() Works

The os.path.join() method processes the path components and resolves them into a single, absolute path. It handles:

os.path.join() Function Examples and Uses Cases

Below are some examples and use cases by which we can join file paths and handle file paths safely in Python OS.

Concatenating Path Components

Python `

import os

Path 1

path = "/home"

Join various path components

print(os.path.join(path, "User/Desktop", "file.txt"))

Path 2

path = "User/Documents"

Join various path components

print(os.path.join(path, "/home", "file.txt"))

Path 3

path = "/User"

Join various path components

print(os.path.join(path, "Downloads", "file.txt", "/home"))

`

Output

/home/User/Desktop/file.txt /home/file.txt /home

**Revised Explanation of the Code Outputs

Reading and Writing Files

example.txt

GeeksforGeeks

Python `

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)

`

**Output:

GeeksforGeeks

**Explanation: In this example, the os.path.join() method is utilized to form a complete file path by joining the base directory and the filename. The constructed path is then used to read the content of the file named example.txt.

Listing Files in a Directory

Python `

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)

`

Output

/home/guest/sandbox/input.txt /home/guest/sandbox/driver /home/guest/sandbox/Solution.py

**Explanation: In this example, the `os.path.join()` method is employed to generate the full path for each file in the current working directory. The complete paths are then printed, allowing for a comprehensive listing of all files in the directory.

Iterating Over Paths with a For Loop

Python `

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}")

`

Output

Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt

**Explanation: In this example, the `os.path.join()` method is utilized within a loop to dynamically create the full path for each file name listed. The constructed paths are then printed to indicate the processing of each respective file.