在python 里 如何用sha计算值的问题

如何计算,不知道python怎么工作的,
# attribute as turning the action into a critical action?
                if "preserve" in self.attrs and os.path.isfile(final_path):
                        cfile = file(final_path)
                        chash = sha.sha(cfile.read()).hexdigest()

在这的一部分:不理解这个 chash是怎么算出来的,我知道一个文件的sha1值。不理解chash语句是什么意思。查看定义知道python的sha有hexdigest() 前面的sha.sha()不明白。

源码部分: http://cr.opensolaris.org/~rajku ... les/actions/file.py

顺便问下,同一个目录下有test.py 和test.ypc ,都是可执行的文件,被调用的时候,选择哪个呢,两者如何转换?