create directory python if not exist with code examples

Creating a Directory in Python

In Python, you can create a new directory using the os module. The os module provides a way of using operating system dependent functionality like reading or writing to the file system. One of the important functions of the os module is the mkdir() method, which can be used to create a new directory in the file system.

However, before creating a new directory, it is a good practice to check if the directory already exists, to avoid errors. In this article, we'll see how to create a directory in Python if it does not exist.

Example 1: Using os.makedirs()

The os.makedirs() method creates a new directory and any missing parent directories in the path. This method can be used to create a directory if it does not exist.

import os

def create_directory(directory):
    if not os.path.exists(directory):
        os.makedirs(directory)
        print(f"Directory '{directory}' created.")
    else:
        print(f"Directory '{directory}' already exists.")

create_directory('test_dir')

In this example, the create_directory() function takes a directory name as an argument and checks if the directory exists using os.path.exists(). If the directory does not exist, it creates the directory using os.makedirs(). If the directory exists, it prints a message saying that the directory already exists.

Example 2: Using try-except

You can also use a try-except block to create a directory in Python if it does not exist. In this example, the os.mkdir() method is used to create the directory.

import os

def create_directory(directory):
    try:
        os.mkdir(directory)
        print(f"Directory '{directory}' created.")
    except FileExistsError:
        print(f"Directory '{directory}' already exists.")

create_directory('test_dir')

In this example, the create_directory() function uses the os.mkdir() method to create a directory. If the directory already exists, the os.mkdir() method raises a FileExistsError, which is caught in the except block, and a message is printed saying that the directory already exists.

Conclusion

In this article, we saw how to create a directory in Python if it does not exist. We used two different methods to achieve this: os.makedirs() and a try-except block with os.mkdir(). Both methods provide a way of creating a directory in Python, and the choice between the two depends on the specific requirements of your project.
Working with Files and Directories in Python

In addition to creating directories, the os module provides a number of functions for working with files and directories in Python. Some of the important functions include:

  • os.listdir(): Returns a list of all files and directories in a given directory.
import os

def list_directory(directory):
    print(f"Contents of '{directory}':")
    for item in os.listdir(directory):
        print(item)

list_directory('.')

In this example, the list_directory() function takes a directory name as an argument and uses the os.listdir() method to list all the files and directories in that directory.

  • os.rename(): Renames a file or directory.
import os

def rename_file(old_name, new_name):
    os.rename(old_name, new_name)
    print(f"Renamed '{old_name}' to '{new_name}'.")

rename_file('old_file.txt', 'new_file.txt')

In this example, the rename_file() function takes two arguments: the old name and the new name of the file. It uses the os.rename() method to rename the file.

  • os.remove(): Deletes a file.
import os

def delete_file(file):
    os.remove(file)
    print(f"Deleted '{file}'.")

delete_file('delete_file.txt')

In this example, the delete_file() function takes a file name as an argument and uses the os.remove() method to delete the file.

These are just a few of the functions provided by the os module for working with files and directories in Python. You can find more information about the os module in the official Python documentation.

File Input and Output in Python

In addition to working with files and directories, it's also important to be able to read from and write to files in Python. One way to do this is using the built-in open() function.

Example 1: Writing to a File

def write_to_file(file, data):
    with open(file, 'w') as f:
        f.write(data)
    print(f"Wrote '{data}' to '{file}'.")

write_to_file('write_to_file.txt', 'Hello, World!')

In this example, the write_to_file() function takes a file name and data as arguments. It opens the file using the open() function with the 'w' mode, which opens the file for writing and overwrites any existing data. The with statement is used to ensure that the file is properly closed after the write operation is completed. The data is written to the file using the write() method.

Example 2: Reading from a File

def read_from_file(file):
    with open(file, 'r') as f:
        data = f.read()
    print(f"Read '{data}' from '{file}'.")


## Popular questions 
1. How do I create a directory in Python if it doesn't already exist?

To create a directory in Python if it doesn't already exist, you can use the `os` module and the `os.makedirs()` function. This function creates a directory, including any necessary parent directories, if they don't already exist.

import os

def create_directory(directory):
if not os.path.exists(directory):
os.makedirs(directory)
print(f"Created directory '{directory}'.")
else:
print(f"'{directory}' already exists.")

create_directory('new_directory')

2. How do I check if a directory exists in Python?

You can check if a directory exists in Python using the `os` module and the `os.path.exists()` function. This function takes a file or directory name as an argument and returns `True` if it exists, and `False` otherwise.

import os

def directory_exists(directory):
if os.path.exists(directory):
print(f"'{directory}' exists.")
else:
print(f"'{directory}' does not exist.")

directory_exists('existing_directory')

3. What is the difference between `os.mkdir()` and `os.makedirs()`?

The `os.mkdir()` function creates a single directory, but it will raise an error if any of the parent directories do not already exist. On the other hand, the `os.makedirs()` function creates a directory and all necessary parent directories, if they don't already exist.

4. Can I use a relative or absolute path when creating a directory in Python?

Yes, you can use either a relative or absolute path when creating a directory in Python. A relative path is relative to the current working directory, while an absolute path specifies the complete path from the root of the file system.

import os

relative path

relative_path = 'new_relative_directory'
os.makedirs(relative_path)

absolute path

absolute_path = '/new_absolute_directory'
os.makedirs(absolute_path)

5. What happens if I try to create a directory that already exists in Python?

If you try to create a directory that already exists in Python, you will get a `FileExistsError` exception. To avoid this error, you can use the `os.path.exists()` function to check if the directory exists before calling the `os.makedirs()` function.
### Tag 
Directory
Posts created 2498

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top