[Tutor] Deleting specified files using a python program...help withcode?

Alan Gauld alan.gauld at btinternet.com
Sun Jun 29 17:51:16 CEST 2008

"Saad Javed" <sbjaved at gmail.com> wrote 

> *import os

Not sure what the asterisk at the front is for?
The import should be aligned with the left margin.
> list = ['*.ini', '*.db']

Its a bad idea to call things list since you hide 
the builtin list function for converting things to 

> for root, dirs, files in os.walk('/home/saad'):
> **for list in files:

Assuming the asterisks indicate spaces the use of 
list here hides your list above.

I suspect what you meant was something like

for file in files:
    if file in list:

Except that won't work with wildcards.

So you might need to do:

for file in files:
    for ending in list:
        if file.endswith(ending):

Actually I suspect you would be better using glob.glob 
here rather than os.walk. Alternatively, using os.basename 
to split off the extension and comparing that might be better.


Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list