清理meta文件
程序员文章站
2022-03-20 11:41:57
...
独立游戏开发第二篇
meta文件清理
书接上文,当从unity中将图片切割出来后,Unity默认会为每张图片生成.meta文件,一个一个去删就有些太慢了,还有一些其他图片资源是包含层级的,难道要一个一个的点进去然后删掉,效率实在是太慢了,于是乎是时候面向百度编程了。
Python脚本编写
近期Python一直很火,加上之前公司一直使用Python,来将游戏热更新文件上传,于是发现挺好用的。于是次就使用Python来编写。
#!/usr/bin/python
#基本库的引用 C#中的 using javaScript中的require 大概差不多的样子
import os
#方法定义 递归查找当前脚本下的所有.meta文件 然后删除
def delfoldermeta(path):
list =[]
filepath = os.listdir(path)
for tempfile in filepath:
if(tempfile.find('.meta') !=-1):
delfile = path+tempfile
os.remove(delfile)
elif tempfile.find('.') ==-1 :
childfinderpath = path+tempfile+"/"
list.append(childfinderpath)
if len(list) !=0:
for childpath in list:
delfoldermeta(childpath)
return list
#这里是查找本地路径 在网上查找的时候发现有直接可以从当前脚本路径开始的方法,结果不知怎么就是没法用
#所以就换了一种方式找到自己然后用字符串切割获取完整路径。
dir = os.getcwd()
pathofthis = os.path.abspath(__file__)
findernow = pathofthis.strip("Delmetafiles.py")
#获取路径下的所有文件 包括文件夹
filesroot = os.listdir(findernow)
#调用方法 Python 似乎是需要将方法写在上面才能调用的样子,放在下面不知道怎么就是报错 也可能是语法错误吧。
delfoldermeta(findernow)
将写好的文件放到需要清理meta文件的根目录下,我这里使用的是MacOS,打开终端输入python 然后将py文件拖拽上回车即可