Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- import os, sys, time
- from multiprocessing import Pool
- dirname = os.getcwd() if len(sys.argv) == 1 else sys.argv[1]
- procNum = 5 if len(sys.argv) < 3 else sys.argv[2]
- deleteConfirm = input('Delete all files from dir ' + str(dirname) + ' (y/n)? ')
- if(deleteConfirm not in ['y','Y']):
- sys.exit()
- def main():
- flist = os.listdir(dirname)
- count = len(flist)
- if count < 100000:
- counter = 0
- for file in flist:
- os.remove(os.path.join(dirname, file))
- counter+=1
- if(0==counter%1000):
- sys.stdout.write('\rDeleted %d files' % counter)
- sys.stdout.flush()
- print('\rDeleted %d files' % counter)
- sys.exit(0)
- else:
- workers = Pool(processes=procNum)
- result = workers.imap_unordered(delfile,flist)
- workers.close()
- while True:
- time.sleep(5)
- completed = result._index
- if completed == count:
- print('')
- break
- sys.stdout.write('\rRemoved %d files' % result._index)
- workers.join()
- def delfile(fname):
- os.remove(os.path.join(dirname,fname))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement