1. 程式人生 > >cocos-js,過濾無用資源

cocos-js,過濾無用資源

一、製作背景

公司專案最近在過濾一些無用的老資源,如果一個一個找太費時費力,於是乎想做一個工具,對資源目錄下的資源名稱在程式碼裡遍歷尋找,如果沒有找到,就認為這是一個無用的老資源。
這樣能做一個大致的篩選,對於組合的資源名稱無法做到篩選,還需要自己再次做出判斷。


二、例項程式碼

#!/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目錄下
在這裡插入圖片描述