简介
Unity打包经常会用一些文件的复制粘贴到一些文件到自己指定的SDK目录,一开始我们使用的是bat脚本,但是笔者发现这个脚本没办法在打包机(MAC)上使用,于是笔者便想到了python脚本来实现。
引用的库
import sys
import os
import json
import shutil
利用json配置需要控制的文件或者文件夹
{
"remdir":[
"data/libs/",
"data/src/main/assets/"
],
"copydir":[
"../xarchive/android/unityLibrary/libs/",
"../xarchive/android/unityLibrary/
]
}
参数读取
if (len(sys.argv) > 1):
isPAD = sys.argv[1]
if(isPAD == "0")
...
命令执行python脚本的时候通过读取sys.argv便可以读取到自己传入的参数,这里需要注意的是读取的都是字符串,所以笔者在读数字0的时候需要用到**”0”**。
读取Config配置文件(json)
configFilePath = "config.json";
with open(configFilePath,'r') as load_f:
load_dict = json.load(load_f)
删除目录文件或者文件夹
def path_remove(removepath):
for remdirPath in removepath:
try:
if os.path.exists(remdirPath):
if os.path.isdir(remdirPath):
shutil.rmtree(remdirPath)
else:
os.remove(remdirPath)
print("Remove Success: "+remdirPath)
except OSError as e:
print("Error: %s : %s" % (remdirPath, e.strerror))
复制文件或者文件夹到指定目录
def proc_copy(old_path, new_path):
if os.path.exists(old_path):
if os.path.isdir(old_path):
shutil.copytree(old_path, new_path)
elif os.path.isfile(old_path):
shutil.copyfile(old_path, new_path)
print("Copy Success: " + old_path)
else:
print("NOT FOUND: {}".format(old_path))
def path_copy(copydir, pastedir):
for index in range(len(copydir)):
if os.path.exists(pastedir[index]):
if os.path.isdir(pastedir[index]):
shutil.rmtree(pastedir[index])
proc_copy(copydir[index],pastedir[index])
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 841774407@qq.com