How to delete the contents of a folder?

UnkwnTech picture UnkwnTech · Oct 9, 2008 · Viewed 571.8k times · Source

How can I delete the contents of a local folder in Python?

The current project is for Windows, but I would like to see *nix also.

Answer

Nick Stinemates picture Nick Stinemates · Oct 9, 2008
import os, shutil
folder = '/path/to/folder'
for filename in os.listdir(folder):
    file_path = os.path.join(folder, filename)
    try:
        if os.path.isfile(file_path) or os.path.islink(file_path):
            os.unlink(file_path)
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path)
    except Exception as e:
        print('Failed to delete %s. Reason: %s' % (file_path, e))