过滤无用资源

一、制作背景

公司项目最近在过滤一些无用的老资源,如果一个一个找太费时费力,于是乎想做一个工具,对资源目录下的资源名称在代码里遍历寻找,如果没有找到,就认为这是一个无用的老资源。
这样能做一个大致的筛选,对于组合的资源名称无法做到筛选,还需要自己再次做出判断。


二、实例代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import os
import sys
import shutil



FILTER_LIST = ['.png','.jpg']
RES_DIR = '../resources'
SRC_DIR = '../src'
res_list = []
src_list = []



def listFile(_dir,_list):
	if os.path.isfile(_dir):
		_list.append(_dir)

	else:
		for _file in os.listdir(_dir):
			listFile(_dir+os.sep+_file,_list)



def dealSrc(_full_name):
	__file = os.path.split(_full_name)
	__file_path = __file[0]
	__file_name = __file[1]
	# __temp_file_name = os.path.splitext(__file_name)
	# __file_name = __temp_file_name[0]
	# __file_name1 = __file_name[:-1]
	# __extension = __temp_file_name[1]

	__is_find = False
	for file in src_list:
		with open(file, 'r') as f:
		    __str = f.read()
		    if(__str.find(__file_name) != -1):
		    # if(__str.find(__file_name) != -1 or __str.find(__file_name1) != -1):
		    	__is_find = True
		    	break

	if not __is_find:
		print(_full_name)



def filterRes(_full_name):
	__file = os.path.split(_full_name)
	__file_path = __file[0]
	__file_name = __file[1]
	__temp_file_name = os.path.splitext(__file_name)
	__file_name = __temp_file_name[0]
	__extension = __temp_file_name[1]

	if __extension in FILTER_LIST:
		return True

	return False


print('#################################')
# print(os.path.splitext('111.mp3')[1])
# if len(sys.argv) > 1:
# 	filter(sys.argv[1])
# else:
# 	print('请输入资源目录!!!')


# os.chdir(os.path.dirname(__file__))
listFile(RES_DIR,res_list)
listFile(SRC_DIR,src_list)

for file in res_list:
	if(filterRes(file)):
		dealSrc(file)


print('#################################')

三、补充说明

资源目录RES_DIR和代码目录SRC_DIR,需要结合自己的工程做修改,我是把filter_res.py放在tools目录下
过滤无用资源