gpt4 book ai didi

python - 有没有办法从 SCons 中的构建器调用的 python 函数获取返回值?

转载 作者:行者123 更新时间:2023-12-01 03:09:08 25 4
gpt4 key购买 nike

我正在使用 SCons builder to call a python function ,通常将目标指定为文件。然而在某些情况下,返回一个对象会很方便,但仍然保留依赖关系,例如将变量传递给另一个构建器。

构建器函数 must返回 0 或 None,但是还有其他方法可以从构建器调用的函数中返回一些变量吗?

这个功能失调的脚本希望能够解释我想做的事情:

import os
env = Environment(ENV = os.environ)

def give_me_5(foo):
foo = 5
return foo # This must be 0 or None...

bar = give_me_5(4)
print 'How many? ', bar
#How many? 5

builder_bar = env.Command(
source=None,
target=None,
action=give_me_5,
foo = 4
) #Command doesn't return functions variables

print 'How many? ', builder_bar
#How many? []

但我想要:有多少? 5

最佳答案

构建器返回 Node() 数组。
值节点是一种可以作为目标的类型。

这就是说你的例子不起作用。

当脚本运行时,它会构建 DAG,然后遍历 DAG 并运行操作。

因此,只有在 SConscript 运行之后,操作本身才会运行。

关于python - 有没有办法从 SCons 中的构建器调用的 python 函数获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43046127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com