过滤无用资源
一、制作背景
公司项目最近在过滤一些无用的老资源,如果一个一个找太费时费力,于是乎想做一个工具,对资源目录下的资源名称在代码里遍历寻找,如果没有找到,就认为这是一个无用的老资源。
这样能做一个大致的筛选,对于组合的资源名称无法做到筛选,还需要自己再次做出判断。
二、实例代码
#!/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
目录下