cleanUp.py 删除指定文件夹中的所有files and dirs

'''
Created on Feb 6, 2013

@author: changxue

@summary: to delete all files and directories in specified directory.
        print the name of file or directory if it can't remove.
'''
import os, sys
def clean(path):
    # to deal with abnormal situation
    if not os.path.exists(path):
        raise Exception('Error: can not find path: %s\n' % path)
    elif os.path.isfile(path):
        os.remove(path)
        return

    for root, dirs, files in os.walk(path):
        for f in files:
            try:
                full_path = os.path.join(root, f)
                os.remove(full_path)
            except:
                print "Fail remove file: %s\n" % full_path
                continue
        for d in dirs:
            try:
                os.removedirs(d)
            except:
                print "Fail remove: %s\n" % d
                continue

if __name__ == '__main__':
    usage = 'cleanUp.py dirname'
    argv_len = len(sys.argv)
    if argv_len <= 1:
        print usage
    else:
        dest_path = sys.argv[1]
        clean(dest_path)

 

posted @ 2013-02-07 10:10  道以万计  阅读(250)  评论(0)    收藏  举报