我试图找出当SCons将工件从缓存目录(由CacheDir给定)复制到使用的硬链接时,如何重写该行为。在
我目前的尝试
def link_or_copy_file(class_instance, src, dst):
# do hardlinking instead...
SCons.Defaults.DefaultEnvironment()._copy_from_cache = link_or_copy_file
SCons.Defaults.DefaultEnvironment()._copy2_from_cache = link_or_copy_file
env = Environment()
env._copy_from_cache = link_or_copy_file
env._copy2_from_cache = link_or_copy_file
对env
的后续使用没有影响。函数link_or_copy_file
从不调用。怎么了?在
以这种方式重写Python类成员函数是不可能的。在
Update:另外请注意,我在调用env.Decider()
之后执行此操作,因为此函数可能会覆盖成员_copy_from_cache
和{
我们终于明白了
成功了。在
相关问题 更多 >
编程相关推荐