Skip to content Skip to sidebar Skip to footer

Python Deleting Certain File Extensions

I'm fairly new to Python, but I have gotten this code to work, and in fact, do what it's intended to do. However, I'm wondering if there is a more efficient way to code this, perha

Solution 1:

Since you are recursing through subdirectories, use os.walk:

import os

def scandirs(path):
    for root, dirs, files in os.walk(path):
        for currentFile in files:
            print "processing file: " + currentFile
            exts = ('.png', '.jpg')
            if currentFile.lower().endswith(exts):
                os.remove(os.path.join(root, currentFile))

Solution 2:

If the program works and the speed is acceptable, I wouldn't change it.

Otherwise, you could try unutbu's answer.

Generally, I would leave away the

png = "png"
jpg = "jpg"

stuff as I don't see any purpose in not using the strings directly.

And better test for ".png" instead of "png".

An even better solution would be to define

extensions = ('.png', '.jpg')

somewhere centally and use that in

if any(currentFile.endswith(ext) for ext in extensions):
    os.remove(currentFile)

.


Post a Comment for "Python Deleting Certain File Extensions"