决定采用Mercurial(Hg)了

标签:无

最近想用版本控制软件来保存汉化文件,但又觉得SVN太麻烦,于是想到了最近较为流行的分布式版本控制工具。
而Git和Mercurial(意思为水银的,于是经常缩写为Hg)自然是其中最为流行的工具。大名鼎鼎的Linux就用Git作源码管理,而Python和Firefox则采用Hg(你可以在这找到一堆使用Hg的项目)。
比较了一番后,最终我选择了后者。因为Git的优势主要在于分支,而汉化并不需要太多分支;而Git对Windows的支持似乎不如Mercurial,ssh也比http麻烦,比较难教汉化组成员们使用;此外还有个特别的原因:Hg主要是用Python实现的(小部分使用C实现)。
当然,Hg也有个很严重的缺点:不支持针对单个文件夹的分支。如果剧本翻译和改图要建立分支都必须复制整个仓库,而对翻译来说,图像文件并不是他需要的部分。

用Descriptor实现另一种风格的Decorator

标签:Python

之前我曾写过《在Python中实现Decorator模式》,里面展示的例子都是一个函数封装另一个函数,然后返回封装后的函数,即:
def decorator(func):
	def wrapper(arg):
		#做另一些事
		return func(arg)
	return wrapper

@decorator
def f(param):
	#做一些事
虽然这就是正统的写法,但对于不太了解闭包的人来说,那个wrapper太难懂了,就会有种Decorator很恐怖的印象。

用Python生成暴力破解字典

标签:Python

事先声明一下,我只是一时兴起,绝对没有去做和谐的事,各位也请自重=。=

其实暴力破解字典就是将可输入的字符进行全排列,是非常简单的方法,只不过用C语言写起来很繁琐,因此我想到了Python。

« 看看还有什么好玩意