Python Delete Files – Delete Files Using os and pathlib

Introduction

File handling is an essential part of programming, and managing files includes not only creating, reading, writing, and appending data but also deleting files when they are no longer needed. Deleting unnecessary files helps free up storage space, improve system organization, and maintain application performance.

Python provides simple methods for deleting files and directories through the os module and related functions.

What is Python Delete Files?

Python Delete Files refers to the process of permanently removing files from a computer using Python code.

Note: In Python, file deletion is performed using the os module.

The most commonly used function is:


os.remove()

This function removes a specified file from the system.

Deleting files is useful when:

  • Temporary files are no longer needed.
  • Old reports need to be removed.
  • Log files become too large.
  • Duplicate files need cleanup.
  • User-generated files are deleted.

Syntax


import os
os.remove("filename.txt")

Explanation

  • import os imports the operating system module.
  • os.remove() deletes the specified file.
  • “filename.txt” is the file to remove.

Importing the os Module

Before deleting files, you must import the os module.


import os

The os module provides functions for interacting with the operating system, including:

  • File deletion
  • Directory management
  • Path checking
  • File information retrieval

Deleting a File Using os.remove()

The os.remove() function is the most common way to delete files.

Example:


import os
os.remove("data.txt")

Output:

File deleted successfully

If the file exists, it is permanently removed from the file system.

Checking Whether a File Exists

Attempting to delete a non-existing file causes an error.

Incorrect Example:


import os
os.remove("unknown.txt")

Output:

FileNotFoundError

Correct Example:


import os
if os.path.exists("unknown.txt"):
    os.remove("unknown.txt")
else:
    print("File not found")

Output:

File not found

Checking first prevents program crashes.

Using os.path.exists()

The os.path.exists() function checks whether a file exists.

Syntax


os.path.exists("filename.txt")

Example:


import os
if os.path.exists("data.txt"):
    print("File exists")
else:
    print("File not found")

Output:

File exists

This function is commonly used before deletion.

Deleting Multiple Files

You can delete multiple files using a loop.

Example:


import os
files = [
    "file1.txt",
    "file2.txt",
    "file3.txt"
]

for file in files:


 if os.path.exists(file):
        os.remove(file)

Output:

All existing files deleted

This approach is useful for cleanup tasks.

Using Exception Handling

A safer approach is to use exception handling.

Example:


import os
try:
    os.remove("data.txt")
    print("File deleted")
except FileNotFoundError:
    print("File not found")

Output:

File deleted
or
File not found

Exception handling makes programs more reliable.

Deleting Files with Absolute Paths

Files may be stored in different folders.

Example:


import os
os.remove("C:/Projects/data.txt")

This removes the file from the specified location.

Deleting Temporary Files

Temporary files are often created during program execution.

Example:


import os
temp_file = "temp.txt"
if os.path.exists(temp_file):
    os.remove(temp_file)

Output:

Temporary file removed

This helps keep systems clean.

Deleting Empty Directories

Python provides os.rmdir() for removing empty folders.

Example:


import os
os.rmdir("MyFolder")

Output:

Folder deleted

Important:The directory must be empty.

Deleting Directories with Files

To delete a folder containing files, use the shutil module.

Example:


import shutil
shutil.rmtree("ProjectFolder")

Output:

Directory and all contents deleted

Be careful because this operation cannot be easily undone.

Example

Suppose a file called report.txt exists.

Program:


import os
if os.path.exists("report.txt"):
    os.remove("report.txt")
    print("Report deleted")
else:
    print("File not found")

Output:

Report deleted

This is one of the most common file deletion examples.

Real-life Example

Imagine you are building an online exam system.

Students upload answer files during an examination. After evaluation, administrators may need to delete temporary answer files.


import os
file_name = "student_answer.txt"
if os.path.exists(file_name):
    os.remove(file_name)
    print("Answer file removed")
else:
    print("File not found")

Output:

Answer file removed

Common Mistakes

1. Forgetting to Import os

Incorrect:


os.remove("data.txt")

Output:

NameError

Correct:


import os
os.remove("data.txt")

2. Deleting a Non-Existing File

Incorrect:


import os
os.remove("missing.txt")

Output:

FileNotFoundError

Correct:


if os.path.exists("missing.txt"):
    os.remove("missing.txt")

3. Using Incorrect File Paths

Incorrect:


os.remove("report.txt")

When the file is located elsewhere.

Correct:


os.remove("files/report.txt")

Always verify the path.

4. Accidentally Deleting Important Files

Incorrect:


os.remove("database.txt")

Without confirmation.

Correct:


confirm = input("Delete file? (yes/no): ")
if confirm == "yes":
    os.remove("database.txt")

Adding confirmation helps prevent mistakes.

5. Ignoring Exception Handling

Incorrect:


os.remove("data.txt")

Correct:


try:
    os.remove("data.txt")

except FileNotFoundError:


print("File not found")

This prevents unexpected crashes.

Best Practices for Deleting Files

1. Check File Existence First


if os.path.exists("data.txt"):
    os.remove("data.txt")

2. Use Exception Handling


try:
    os.remove("data.txt")
except:
    pass

3. Confirm Before Deletion


confirm = input("Delete? ")

4. Keep Backups of Important Data

Always back up important files before deletion.

5. Use Absolute Paths When Necessary


os.remove("C:/Project/data.txt")

This avoids confusion about file locations.

Method Purpose
os.remove() Delete a file
os.unlink() Delete a file
os.rmdir() Delete an empty folder
shutil.rmtree() Delete a folder with contents

Understanding these methods helps choose the correct deletion approach.

Conclusion

Python Delete Files is an important part of file management that allows developers to remove unnecessary files and directories from a system. Using functions such as os.remove(), os.rmdir(), and shutil.rmtree(), Python makes file cleanup simple and efficient.

Python Delete Files – Interview Questions

Q 1: How do you delete a file in Python?
Ans: Using os.remove('filename') from the os module.
Q 2: Can you delete multiple files at once?
Ans: Yes, by looping through filenames and using os.remove().
Q 3: What happens if the file does not exist?
Ans: An error is raised unless handled with try-except.
Q 4: Which module is used for file deletion?
Ans: The os module.
Q 5: How do you check if a file exists before deleting?
Ans: Using os.path.exists('filename')..

Python Delete Files – Objective Questions (MCQs)

Q1. Which module is used to delete a file?






Q2. Which function deletes a file in Python?






Q3. What happens if os.remove("file.txt") is called for a non-existent file?






Q4. Which method deletes a directory instead of a file?






Q5. Which statement correctly checks if a file exists before deleting?






Related Python Tutorials