在利用网站模板创建自已的网站时,经常会有一些残留或垃圾文件。写了一个简单的脚本中可以找出当前目录中未使用的图片、css、js、html 文件。
# -*- coding: UTF-8 -*-
import os
import sys
import time
file_ext = ('.eot', '.svg', '.tff', '.woff', '.png', '.jpg', '.css','.js', '.html')
text_file_ext = ('.css','.js','.html')
exclude_files = ('index.html')
files = {}
file_refers = {}
## Linux/MacOS 下直接删除文件
command = '/bin/rm {}/{}'
## 显示文件列表,如果需要备份可先形成,可以 python asset_cleaner.py | xargs tar cvf asset.bak.tar
# command = '{}/{}'
def findstring(pathfile,target):
fp = open(pathfile, "r")
strr = fp.read()
if(strr.find("set_commission") != -1):
return True
return False
for parent, dirnames, filenames in os.walk('.'):
for filename in filenames:
if os.path.splitext(filename)[1] in file_ext and not filename in exclude_files:
files.update({filename:parent})
file_refers.update({filename:False})
for parent, dirnames, filenames in os.walk('.'):
for openfile in filenames:
if not os.path.splitext(openfile)[1] in text_file_ext:
continue
try:
fp = open(parent + "/" + openfile, "r")
file_string = fp.read()
for filename in files:
if file_string.find(filename) >=0:
file_refers.update({filename:True})
fp.close()
except Exception as err:
sys.stderr.write(parent + '/' + openfile + ':' + "{}\n".format(err))
continue
sys.stderr.write("未引用的文件如下:\n---------------------------\n")
time.sleep(0.1)
for file in file_refers:
if not file_refers[file]:
print(command.format(files[file], file))
time.sleep(0.1)
sys.stderr.write("------------结束-----------\n")