"David" <[EMAIL PROTECTED]> wrote

dir_input = raw_input('Enter dir: ')
win_trace = ['*.ini', '*.db']
files_removed = 0
for root, dirs, files in os.walk(dir_input):
   for trace in win_trace:
       win_trace_path = os.path.join(root, trace)
       for filename in glob.glob(win_trace_path):
           if os.path.exists(filename):
               print filename
           else:
               print 'No files found'

Note that at this point you have printed both names but you have not stored a reference to them.
Thus filename contains only the last name.

You need to create a list of the valid filenames.
You could use a list compreghension like so:

files = [f for f in glob.glob(win_trace_path) if os.path.exists(f)]
print files

confirmation = raw_input('Confirm removal: ')
if confirmation == 'y':
   print "removing '%s'" % filename
   os.remove(filename)
   files_removed += 1

And now you are removing only one file, but you need to remove all of the files in your list so add a loop like:

if confirmation == 'y':
    for filename in files:
       print "removing '%s'" % filename
       os.remove(filename)
       files_removed += 1


elif confirmation == 'n':
   pass
else:
   sys.exit()

The elif doesn't do anything so you can delete it.

HTH,


--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to