Python Tutorial for os Module: Working with Directories in Python

Introduction

The `os` module in Python provides a way of using operating system dependent functionality like reading or writing to the file system. One of the most common tasks when working with files and directories is navigating through directory structures, creating new directories, and deleting existing ones. In this tutorial, we will focus on how to work with directories in Python using the `os` module.

How to import the os module

The os module in Python provides a way of using operating system dependent functionality. It allows us to interact with the file system and perform various operations on it such as creating, deleting, renaming directories, listing files in a directory etc.

To use the os module in Python, we first need to import it. We can simply import it using the `import` keyword followed by the module name “os”. Here’s an example:


import os

Once we have imported the os module, we can start using its various functions and methods to work with directories and files.

It’s important to note that some of the functions in the os module are platform-dependent, meaning they may behave differently depending on which operating system you’re running your Python code on. So, make sure to refer to the official documentation for any platform-specific behaviors or limitations.

Next, let’s dive into how to work with directories specifically.

Working with Directories using the os module

Directories are an essential part of any file system, and Python provides the os module to work with directories. In this tutorial, we will cover some of the most common operations you can perform on directories using the os module.

Checking if a directory exists

Before performing any operation on a directory, it is always a good practice to check if the directory exists or not. You can use the os.path.exists() function to check if a directory exists or not.


import os

if os.path.exists('/path/to/directory'):
    print('Directory exists')
else:
    print('Directory does not exist')

Creating a directory

You can create a new directory using the os.mkdir() function. This function takes the path of the directory as its argument and creates a new directory at that path.


import os

os.mkdir('/path/to/new/directory')

Renaming or moving a directory

To rename or move a directory, you can use the os.rename() function. This function takes two arguments: the old path of the directory and the new path of the directory.


import os

os.rename('/path/to/old/directory', '/path/to/new/directory')

Changing the current working directory

You can change the current working directory using the os.chdir() function. This function takes the path of the directory that you want to set as the current working directory.


import os

os.chdir('/path/to/new/directory')

Getting the current working directory

To get the current working directory, you can use the os.getcwd() function. This function returns the path of the current working directory as a string.


import os

cwd = os.getcwd()
print(cwd)

List all files and directories in a directory

You can list all files and directories in a directory using the os.listdir() function. This function takes the path of the directory as its argument and returns a list of all files and directories in that directory.


import os

files_and_directories = os.listdir('/path/to/directory')
print(files_and_directories)

List only directories in a directory

To list only directories in a directory, you can use a combination of os.listdir() and os.path.isdir() functions. The os.path.isdir() function takes a path as its argument and returns True if that path is a directory.


import os

directories = [d for d in os.listdir('/path/to/directory') if os.path.isdir(os.path.join('/path/to/directory', d))]
print(directories)

List only files in a directory

Similarly, to list only files in a directory, you can use a combination of os.listdir() and os.path.isfile() functions. The os.path.isfile() function takes a path as its argument and returns True if that path is a file.


import os

files = [f for f in os.listdir('/path/to/directory') if os.path.isfile(os.path.join('/path/to/directory', f))]
print(files)

Deleting a Directory

To delete a directory in Python, we can use the `os.rmdir()` method. This method takes a single argument which is the name of the directory that we want to delete. Here’s an example:


import os

# Deleting 'new_directory'
os.rmdir('new_directory')

This will delete the `new_directory` that we created earlier.

These are some of the most common operations you can perform on directories using the os module in Python.

Conclusion

In conclusion, the `os` module is a powerful tool for working with directories in Python. It provides a wide range of functions to create, delete, rename, and navigate directories in your file system.

In this tutorial, we have covered the basics of the `os` module and explored some of its most commonly used functions. We have learned how to create a new directory using the `mkdir()` function, how to remove a directory using the `rmdir()` function, and how to list all files and directories in a given directory using the `listdir()` function.

We have also seen how to navigate directories using the `chdir()` function and how to get information about a file or directory using the `stat()` function. Additionally, we have discussed some advanced techniques such as walking through an entire directory tree using the `walk()` function and joining path names using the `join()` function.

Overall, mastering the `os` module is essential for any serious Python programmer who needs to work with directories and files on their computer. With its vast array of functions and capabilities, it provides a powerful set of tools for managing your file system within your Python programs.
Interested in learning more? Check out our Introduction to Python course!


How to Become a Data Scientist PDF

Your FREE Guide to Become a Data Scientist

Discover the path to becoming a data scientist with our comprehensive FREE guide! Unlock your potential in this in-demand field and access valuable resources to kickstart your journey.

Don’t wait, download now and transform your career!


Pierian Training
Pierian Training
Pierian Training is a leading provider of high-quality technology training, with a focus on data science and cloud computing. Pierian Training offers live instructor-led training, self-paced online video courses, and private group and cohort training programs to support enterprises looking to upskill their employees.

You May Also Like

Data Science, Tutorials

Guide to NLTK – Natural Language Toolkit for Python

Introduction Natural Language Processing (NLP) lies at the heart of countless applications we use every day, from voice assistants to spam filters and machine translation. It allows machines to understand, interpret, and generate human language, bridging the gap between humans and computers. Within the vast landscape of NLP tools and techniques, the Natural Language Toolkit […]

Machine Learning, Tutorials

GridSearchCV with Scikit-Learn and Python

Introduction In the world of machine learning, finding the optimal set of hyperparameters for a model can significantly impact its performance and accuracy. However, searching through all possible combinations manually can be an incredibly time-consuming and error-prone process. This is where GridSearchCV, a powerful tool provided by Scikit-Learn library in Python, comes to the rescue. […]

Python Basics, Tutorials

Plotting Time Series in Python: A Complete Guide

Introduction Time series data is a type of data that is collected over time at regular intervals. It can be used to analyze trends, patterns, and behaviors over time. In order to effectively analyze time series data, it is important to visualize it in a way that is easy to understand. This is where plotting […]