Skip to content

Easily Change Python File Extension.


Python Tutorial: Changing File Extensions

Are you looking to change file extensions in Python? Do you want to automate the process in your script? Look no further! In this tutorial, we will guide you through the step-by-step process of changing file extensions using Python.

What is a File Extension?

A file extension is a suffix attached to the end of a filename, indicating the type of file it is. For example, a file with the “.txt” extension suggests that it contains plain text. Changing file extensions can be useful when you want to convert files from one format to another or when you want to ensure compatibility with specific software or systems.


Before we begin, make sure you have Python installed on your system. You can download the latest version of Python from the official website ( Additionally, you should have a basic understanding of Python programming concepts.

Step 1: Importing the os Module

The os module in Python provides a way to interact with the operating system. It includes functions that allow us to perform various file-related operations, such as renaming files. To begin, we need to import the os module using the following code:

import os

Step 2: Defining the File Extension

Next, we will define the original and new file extensions that we want to change. Let’s say we want to change all files with the “.txt” extension to “.csv”. You can modify the code below to match your desired file extensions:

original_extension = ".txt"
new_extension = ".csv"

Step 3: Listing Files with the Original Extension

In order to change the file extensions, we first need to identify the files that match the original extension. We can use the os.listdir() function to retrieve a list of files in a directory. Then, we will iterate over each file, check if it has the original extension, and store the file names in a list:

directory = "path/to/directory"
files = os.listdir(directory)
txt_files = [file for file in files if file.endswith(original_extension)]

Make sure to replace “path/to/directory” with the actual directory path where your files are located.

Step 4: Renaming the Files with the New Extension

Now that we have a list of files with the original extension, we can proceed to rename them with the new extension. We will use the os.rename() function to achieve this. For each file in the txt_files list, we will construct the new filename by replacing the original extension with the new one:

for file_name in txt_files:
new_file_name = file_name.replace(original_extension, new_extension)
os.rename(os.path.join(directory, file_name), os.path.join(directory, new_file_name))

Step 5: Executing the Script

We are now ready to change file extensions using our Python script. Save the above code in a file with a “.py” extension, such as “”. Make sure the script and the files you want to change extensions for are in the same directory. Open a command prompt or terminal, navigate to the script’s directory, and run the following command:

Terminal window

If everything goes smoothly, the script will change the file extensions as intended.


Congratulations! You have successfully learned how to change file extensions using Python. We covered the necessary steps, from importing the os module to executing the script. Feel free to modify the code to match your specific requirements and explore other file-related operations available in the os module.

Remember to always double-check your files and their extensions before running the script to avoid any unintended changes. Keep experimenting and enhancing your Python skills to make your programming tasks more efficient and automated. Happy coding!