Python 2.7.3
正则表达式
cocos2dx 项目
import os
import re
def GetFileList(dir, fileList):
newDir = dir
if os.path.isfile(dir):
fileList.append(dir)
elif os.path.isdir(dir):
for s in os.listdir(dir):
newDir = os.path.join(dir, s)
GetFileList(newDir, fileList)
return fileList
def check():
print "\r input source file folder: "
src = raw_input()
tar = "C:/Workflow/code/cocosstudio/XXX/cocosstudio"
code = "C:/Workflow/code/XXXX/src"
result = []
filelist = GetFileList(src, [])
for allDir in filelist:
if allDir.endswith('.png') or allDir.endswith('.jpg'):
result.append(allDir)
csdResult = []
tarlist = GetFileList(tar, [])
for allDir in tarlist:
if allDir.endswith('.csd'):
csdResult.append(allDir)
codeResult = []
codelist = GetFileList(code, [])
for allDir in codelist:
if allDir.endswith('.lua'):
codeResult.append(allDir)
print 'png length = ', len(result)
print 'csd length = ', len(csdResult)
print 'code length = ', len(codeResult)
count = 0
for file in result:
png = os.path.split(file)
path = png[0]
name = png[1]
found = False
for csd in csdResult:
fopen = open(csd, 'r').read()
if name in fopen:
found = True
break
exname = os.path.splitext(name)[0]
exp = re.compile(r'.*[0-9]$')
while exp.match(exname):
exname = re.split('\d+$', exname)[0]
exname = re.split('\_$', exname)[0]
for code in codelist:
fopen = open(code, 'r').read()
if exname in fopen:
found = True
break
if found:
continue
else:
count = count + 1
print file, 'not found'
print count, ' file not found'
if __name__ == '__main__':
check()