几行Python代码打造自己的磁盘垃圾文件清理器

2016-11-11 董付国 Python小屋 Python小屋

本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型。


from os.path import isdir, join, splitext

from os import remove, listdir, chmod, stat

import sys


#指定要删除的文件类型

filetypes = ['.tmp', '.log', '.obj', '.txt']


def delCertainFiles(directory):

    for filename in listdir(directory):

        temp = join(directory, filename)

        if isdir(temp):

            #递归调用

            delCertainFiles(temp)

        elif splitext(temp)[1] in filetypes or stat(temp).st_size==0:

            #修改文件属性,获取访问权限

            chmod(temp, 0o777)

            #删除文件

            remove(temp)

            print(temp, ' deleted....')


if __name__ == '__main__':

    paths = sys.argv[1:]

    for path in paths:

        if isdir(path):

            delCertainFiles(path)


把上面的代码保存为t.py,然后打开命令提示符窗口,执行命令“Python t.py c:\test”,其中“c:\test”表示要清理的文件夹,如果有多个文件夹要清理的话,可以使用空格隔开。