首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重写SCons缓存复制函数

重写SCons缓存复制函数
EN

Stack Overflow用户
提问于 2015-01-09 18:23:24
回答 1查看 166关注 0票数 1

当SCons将工件从缓存目录(由CacheDir提供)复制到使用的硬链接时,我正在试图弄清楚如何覆盖这种行为。

我目前的尝试

代码语言:javascript
运行
复制
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_copy2_from_cache

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 14:30:49

我们终于明白了

代码语言:javascript
运行
复制
import SCons.Environment
SCons.Environment.Environment._copy_from_cache = link_or_copy_file
SCons.Environment.Environment._copy2_from_cache = link_or_copy_file

起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27866811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档