"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 - [email protected]
http://mail.python.org/mailman/listinfo/tutor