Python os mkdir()

The os.mkdir function in Python's os module creates a new directory with the specified path. This function is useful for creating new directories within the filesystem.

Table of Contents

  1. Introduction
  2. os.mkdir Function Syntax
  3. Examples
    • Basic Usage
    • Creating a Nested Directory
  4. Real-World Use Case
  5. Conclusion

Introduction

The os.mkdir function in Python's os module is used to create a new directory at the specified path. If the directory already exists, an OSError is raised. This function is useful for organizing files and creating new directory structures within the filesystem.

os.mkdir Function Syntax

Here is how you use the os.mkdir function:

import os

os.mkdir(path, mode=0o777)

Parameters:

  • path: The path to the new directory to be created.
  • mode: The permissions mode for the new directory (optional, default is 0o777).

Returns:

  • None. This function creates a new directory at the specified path.

Examples

Basic Usage

Here is an example of how to use the os.mkdir function to create a new directory.

Example

import os

# Creating a new directory named 'new_directory'
directory_path = 'new_directory'
os.mkdir(directory_path)
print(f"Directory '{directory_path}' created successfully.")

Output:

Directory 'new_directory' created successfully.

Creating a Nested Directory

This example demonstrates how to create a nested directory. Note that os.mkdir only creates the last directory in the path and will raise an error if the intermediate directories do not exist.

Example

import os

# Creating a nested directory 'parent_directory/child_directory'
nested_directory_path = 'parent_directory/child_directory'
try:
    os.mkdir(nested_directory_path)
except FileNotFoundError as e:
    print(f"Error: {e}")

Output:

Error: [Errno 2] No such file or directory: 'parent_directory/child_directory'

Creating Nested Directories Using os.makedirs

For creating nested directories, you can use the os.makedirs function, which creates all intermediate directories as well.

Example

import os

# Creating nested directories 'parent_directory/child_directory'
nested_directory_path = 'parent_directory/child_directory'
os.makedirs(nested_directory_path)
print(f"Nested directory '{nested_directory_path}' created successfully.")

Output:

Nested directory 'parent_directory/child_directory' created successfully.

Real-World Use Case

Creating Project Directories

In real-world applications, the os.mkdir function can be used to create directories for organizing project files.

Example

import os

def create_project_directories(base_path, project_name):
    project_path = os.path.join(base_path, project_name)
    try:
        os.mkdir(project_path)
        print(f"Project directory '{project_path}' created successfully.")
    except FileExistsError:
        print(f"Project directory '{project_path}' already exists.")
    
    # Creating subdirectories for the project
    subdirectories = ['data', 'scripts', 'results']
    for subdir in subdirectories:
        os.mkdir(os.path.join(project_path, subdir))
        print(f"Subdirectory '{subdir}' created in '{project_path}'.")

# Example usage
base_path = '/home/user/projects'
project_name = 'new_project'
create_project_directories(base_path, project_name)

Output:

Project directory '/home/user/projects/new_project' created successfully.
Subdirectory 'data' created in '/home/user/projects/new_project'.
Subdirectory 'scripts' created in '/home/user/projects/new_project'.
Subdirectory 'results' created in '/home/user/projects/new_project'.

Conclusion

The os.mkdir function in Python's os module creates a new directory at the specified path. This function is useful for organizing files and creating new directory structures within the filesystem. For creating nested directories, the os.makedirs function can be used to create all intermediate directories as well.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare