How to Create a Directory in Python?

The os module is a built-in utility available in both Python 2 and 3 versions, and it provides functions to interact easily with the operating system. The os and os.path modules provide various functions to interact with the file system.

Let’s take a look at various ways through which you can create a directory in Python using the os module.

Method 1 – Using os.mkdir() function

The os.mkdir() method is used to create a directory in Python. This method will raise FileExistsError if the directory is already present in the specified path.

Syntax: os.mkdir(path, mode = 0o777, *, dir_fd = None)

Parameters:

path: The location where you need to create a directory. The directory path will be a string object which includes the path and the directory name which needs to be created.

mode (optional): The permission that needs to be set to the newly-created directory. If you do not specify this parameter, then by default, it will set the permission as 0o777

dir_fd (optional): A file descriptor referring to a directory. 

The default value will be set as None if you don’t provide any. If you specify the absolute path, then dir_fd is ignored.

Return Value – The os.mkdir() doesn’t return any value.

Example 1 – Create a directory in Python using os.mkdir()

The os.mkdir() creates the directory in the specified path if the directory not exists.

# Python program to create directory using os.mkdir() method

import os

# Directory path
dir_path = "C:/Projects/Tryouts/sample"
os.mkdir(dir_path)
print("Directory '% s' created" % dir_path)


# Directory path
dir_path2 = "C:/Projects/Tryouts/sample2"
# mode
mode = 0o666
os.mkdir(dir_path2, mode)
print("Directory '% s' created" % dir_path2)

Output

Directory 'C:/Projects/Tryouts/sample' created
Directory 'C:/Projects/Tryouts/sample2' created

Example 2 – Exception if the directory already exists


The os.mkdir() method would raise a FileExistsError Exception if the directory in the location specified already exists.

# Python program to create directory using os.mkdir() method

import os

# Directory path
dir_path = "C:/Projects/Tryouts/sample"
os.mkdir(dir_path)
print("Directory '% s' created" % dir_path)

Output

Traceback (most recent call last):
  File "c:\Projects\Tryouts\main.py", line 7, in <module>
    os.mkdir(dir_path)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:/Projects/Tryouts/sample'

Method 2 – Using os.makedirs() method to create a nested directory in Python

The os.makedirs() method is used to create a directory recursively in Python, which means while making the leaf directory, if there are any intermediate directory is missed, the method os.makedirs() will create all of them.

Syntax: os.makedirs(path, mode = 0o777, exist_ok = False)

Parameters:

path: The location where you need to make a directory. It will be a string object which includes the path and the directory name which needs to be created.

mode (optional): The permission that needs to be set to the newly-created directory. If you do not specify this parameter, then by default, it will set the permission as 0o777

exist_ok (optional): The default value is false, and if the directory exists, then os.makedir() will raise an FileExistsError. 

Return Value – The os.mkdir() doesn’t return any value.

Example 1 – Create a directory in Python using os.makedirs()

The os.makedirs() will create the nested directory if the parent directory doesn’t exist in the specified path.

# Python program to create directory using os.makedirs() method

import os

# Directory path
dir_path = "C:/Projects/Tryouts/test/sample/mydir"
os.makedirs(dir_path)
print("Directory '% s' created" % dir_path)


# Directory path
dir_path2 = "C:/Projects/Tryouts/test/sample/mydir2"
# mode
mode = 0o666
os.makedirs(dir_path2, mode)
print("Directory '% s' created" % dir_path2)

Output

Directory 'C:/Projects/Tryouts/test/sample/mydir' created
Directory 'C:/Projects/Tryouts/test/sample/mydir2' created

Example 2 – Exception if the directory already exists

The os.makedirs() method would raise a FileExistsError Exception if the directory in the location specified already exists.

# Python program to create directory using os.makedirs() method

import os

# Directory path
dir_path = "C:/Projects/Tryouts/test/sample/mydir"
os.makedirs(dir_path)
print("Directory '% s' created" % dir_path)

Output

Traceback (most recent call last):
  File "c:\Projects\Tryouts\main.py", line 7, in <module>
    os.makedirs(dir_path)
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:/Projects/Tryouts/test/sample/mydir'
Leave a Reply

Your email address will not be published.

Sign Up for Our Newsletters

Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

You May Also Like
Python Any()

Python any()

Table of Contents Hide any() Syntaxany() Parametersany() Return ValueExample 1 – Using any() function on Python ListsExample 2 – Using any() function on Python StringsExample 3 – Using any() function…
View Post
Python String Split()

Python String split()

Table of Contents Hide split() Syntaxsplit() Parameterssplit() Return ValueExample 1: How split() works in Python?Example 2: How split() works when maxsplit is specified? The Python String split() method is a…
View Post
Convert Letters To Numbers In Python

Convert Letters to Numbers in Python

Table of Contents Hide Convert Letters to Numbers in PythonUsing ord() MethodUsing list comprehensionConclusion Using the ord() method, we can convert letters to numbers in Python. The ord() method returns…
View Post
Javascript

Javascript URLEncode

Let us take a look at what would be the best approach for Encoding URL using Javascript. There are basically 3 Javascript URLEncode methods available. Types of Javascript URLEncode escape()…
View Post