45 lines
2.0 KiB
Python
45 lines
2.0 KiB
Python
|
|
#! python 3
|
||
|
|
# -*- coding:utf-8 -*-
|
||
|
|
# Autor: Li Rong Yang
|
||
|
|
# '''
|
||
|
|
# Copy指定格式的文件到新文件夹
|
||
|
|
# '''
|
||
|
|
import shutil,os,sys,json,io
|
||
|
|
#定义函数,接收传入的值
|
||
|
|
def add_prefix_subfolders(files): #定义函数名称
|
||
|
|
final = 'd:\\FC\\project\\project\\copy_png'
|
||
|
|
for copyfiles in os.listdir(final):
|
||
|
|
if files == copyfiles:
|
||
|
|
copypath = os.path.join(final,copyfiles)
|
||
|
|
with io.open(copypath,'r',encoding='utf-8') as fp:
|
||
|
|
json_data = json.load(fp)
|
||
|
|
#png,jpg 使用uuid plist使用rawTextureUuid
|
||
|
|
uuid = json_data['uuid']
|
||
|
|
if copyfiles!= sys.argv[0]:
|
||
|
|
os.rename(os.path.join(final,copyfiles),os.path.join(final,uuid+"@"+copyfiles)) #子文件夹重命名
|
||
|
|
print (copyfiles,"has been renamed successfully! New name is: ",uuid)
|
||
|
|
|
||
|
|
def CHeckFileUUID(sourcefile,fileclass,destinationfile):
|
||
|
|
#遍历目录和子目录
|
||
|
|
for filenames in os.listdir(sourcefile):
|
||
|
|
#取得文件或文件名的绝对路径
|
||
|
|
filepath = os.path.join(sourcefile,filenames)
|
||
|
|
#判断是否为文件夹
|
||
|
|
if os.path.isdir(filepath):
|
||
|
|
#如果是文件夹,重新调用该函数
|
||
|
|
CHeckFileUUID(filepath,fileclass,destinationfile)
|
||
|
|
#判断是否为文件
|
||
|
|
elif os.path.isfile(filepath):
|
||
|
|
#如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录
|
||
|
|
if filepath.endswith(fileclass):
|
||
|
|
#dirname = os.path.split(filepath)[-1]
|
||
|
|
#给出提示信息
|
||
|
|
print('Copy %s'% filepath +' To ' + destinationfile)
|
||
|
|
#复制该文件到指定目录
|
||
|
|
shutil.copy(filepath,destinationfile)
|
||
|
|
add_prefix_subfolders(filenames)
|
||
|
|
#函数调用
|
||
|
|
source = 'd:\\FC\\project\\project\\assets\\resources\\resDB'
|
||
|
|
typemeta = '.meta'
|
||
|
|
CHeckFileUUID(source,typemeta,'d:\\FC\\project\\project\\copy_png')
|