大概一年前我写过一篇文章:[强起!]用低版本Pr打开高版本工程攻略
一年内有许多朋友跟我说这种方法太繁琐,能不能简单点。
还有就是7-zip这个软件官网没有MacOS版本可供下载所以MacOS没法参照攻略降低Pr工程的版本。
今天告诉大家一个好消息——工作在MacOS的‘PR工程版本转换脚本’发布啦
先附上链接地址:https://pan.baidu.com/s/1dZWKiuEDtUm6EAnOREQAeA
项目依然开源:https://github.com/lhy2871/changeprversion
p.s.看在我暑假里还这么勤劳的份上是不是该表示一下
“`该脚本基于python,在MacOS 10.14 Mojave Beta(18A336e)下测试通过“`
使用方法为:
1)打开终端
2)输入python空格
3)将该脚本拖到终端
4)将要转换的文件拖入终端
5)回车后按照提示继续
就是像这样子:
红框中的文件就是新生成的修改了版本号的Pr工程文件
普通使用者看到这就行了
哦,当然欢迎大家滑到文章最下方,按下那个叫做“赞赏”的按钮
会发生可爱的事情哟~
Have a nice day~
接下来简单解释下脚本,以便需要二次开发的朋友解读:
————首先感谢————
本项目在Easync团队某脚本的启发下才最终完成,感谢Easync团队
————感谢完毕————
大致流程图:
脚本首先定义函数read_xml(in_file),get_version(tree),show_choices(),set_version();
分别用于读取xml,获取输入文件的版本代号,显示脚本可以转换的PR版本信息,改写xml中的版本号
def read_xml(in_file):
'''''读取并解析xml文件
in_path: xml路径
return: ElementTree'''
tree = ElementTree()
tree.parse(in_file)
return tree
读取xml
def get_version(tree):
root = tree.getroot();
for child in root.findall("Project"):
if not child.get("Version"):
continue
print '\033[1;35mcurrentVersion is:\033[0m '+child.get("Version")
获取输入文件的版本代号
def show_choices():
print "\033[1;31;40mWhat version do you want to change?\033[0m\n1) PR CC 2018.1 -- 35\n2) PR CC 2018 -- 34\n3) Pr CC 2017.1 -- 33\n4) Pr CC 2017 -- 32\n5) Pr CC 2015.5 -- 31\n6) Pr CC 2015.2 -- 30\n\nq) for quit\n"
显示脚本可以转换的PR版本信息
def set_version(inputv,tree):
global tgtv;
global tgtvt;
if inputv == '1':
tgtv = "35" ;
tgtvt = "v2018_1";
elif inputv == '2':
tgtv = "34" ;
tgtvt= "v2018";
elif inputv == '3':
tgtv = "33" ;
tgtvt= "v2017_1";
elif inputv == '4':
tgtv = "32" ;
tgtvt= "v2017";
elif inputv == '5':
tgtv = "31" ;
tgtvt= "v2015_5";
elif inputv == '6':
tgtv = "30" ;
tgtvt= "v2015_2";
num = 0;
while not tree.findall("Project")[num].get("Version"):
#找到版本存储位置
num = num+1;
else:
tree.findall("Project")[num].set("Version",tgtv)
#修改版本为所选值
return tree
改写xml中的版本号
如果有什么不明白的欢迎留言
祝大家身体健康、工作顺利
可以加转多一个2015.0的版本吗?我转的2用0的打不开
赞赞
感恩
赞赞
感恩!谢谢~
赞赞
太感谢啦 一直在找这个功能的脚本 本来还打算找朋友帮忙呢 现在都不需要啦哈哈
赞赞