How to use Python to automatically modify WoW toc file version

魔兽世界(World of Warcraft)每次版本升级以后,在没有新版插件出来的时候,通常都需要手工修改插件目录中的toc文件,将其中的版本号修改为当前版本,否则在插件界面会显示“版本错误”而无法正常加载。如果有数十个插件,而又要一个一个手工修改的话,是很大的体力活。之前在Windows下的时候,会有人专门写一些程序,只为自动修改这些插件的版本号。 那么在Mac OS X下,如何修改呢?今天将台服的魔兽世界客户端从之前的4.2升级到4.3,于是顺手写了一段Python脚本,并没有什么灵活的设置,只是将插件目录下的所有toc文件遍历一遍,将其中的“Interface: 40200”字样替换成“Interface: 40300”,仅此而已。 1. 新建update_toc.py文件,用任意文本编辑器打开 2. 将以下内容复制到该文件中,保存 [code language=”python”]import tempfile import shutil import os import fnmatch #rootdir表示AddOns目录的绝对路径,可以根据不同的安装位置自行修改 rootdir=’/Applications/World of Warcraft/Interface/AddOns’ for root, dirs, files in os.walk(rootdir): for file in files: if fnmatch.fnmatch(file, ‘*.toc’): fullpath = os.path.join(root, file) #创建临时文件 fh, abs_path = tempfile.mkstemp() new_file = open(abs_path,’w’) old_file = open(fullpath) for line…

Would you like to join us?

我所在的公司-云和恩墨,诚招软件服务类业务顾问。 一、如果具备以下的特质之一,请发送简历至hr@enmotech.com 1、 积极主动的自我驱动; 2、 渴望成功,并愿意坚实付出努力; 3、 灵气,好悟性; 4、 系统软件(特别是数据库软件)技术基础。 二、加入公司,即会获得: 1、初中级顾问4000-8000月薪;高级顾问薪资面谈。 2、6%-10%的项目提成 3、齐全的保险; 4、免费的点心,水果; 5、以人为本,开放自由的创业体验, 6、共享公司发展的全员激励回报; 7、价值创造获得的尊重与成就。 三、工作地点: 1、总部:北京 2、地区总部:东区-上海、南区-广州、西区-成都 3、各省会城市

How to set Safari to use PAC file in Mac OS X Lion

目标: 通过设置Safari的自动proxy切换,实现浏览网页的时候,如果是GFW的站点则自动通过Proxy,如果不是,则不使用Proxy。这样保证浏览国内网站时候速度够快,而浏览GFW的网站也没有问题,全自动,无需手工干预。 操作系统和浏览器: Mac OS X Lion + Safari 5.1(当然低版本的Safari也同样可以这样设置)。如果浏览器是Firefox,可以直接用autoproxy插件,如果浏览器是Chrome,可以用Switchy!插件。 需要下载的软件: 1. SSH Tunnel Manager,在Mac App Store中搜索安装即可。 要使用该软件,首先要求有一个可以通过ssh访问的国外虚拟主机,通常有这样主机的,大概也都知道该如何设置ssh端口转发了,所以不再赘述,要注意的是,监听的端口可以随便设置,我设置为7080。如果使用本文中的pac文件,那么也必须要设置为7080。 2. autoproxy.pac脚本,该脚本可以从AutoProxy2PAC站点下载。很可惜,这个站点本身需要翻墙,不过我已经将我自己用的pac文件放在这里,可以下载使用,在SSH Tunnel Manager中必须设置本地端口是7080。 启动SSH Tunnel Manager: 连接设置好的ssh会话,检查本地端口是否已经被正常监听。注意最后两行末尾的LISTEN字样,表示已经监听在本地的7080端口上,这意味着任何通过socks代理发送到本地7080端口的请求,都会通过ssh转发到国外的虚拟主机,然后从国外访问GFWed的网站,再通过ssh返回请求的页面。基本上是这样的方式完成翻墙。 Kamus$ netstat -a|grep 7080 tcp4 0 0 localhost.7080 localhost.37233 ESTABLISHED tcp4 0 0 localhost.37233 localhost.7080 ESTABLISHED tcp4 0 0 localhost.7080 localhost.37232 ESTABLISHED tcp4 0 0 localhost.37232 localhost.7080 ESTABLISHED tcp4…