我刚接触Scons和Python。我想知道是否有一种方法可以在Python脚本中调用Scons。
我的Python脚本从用户那里接受一个目录列表,其中包含要编译的代码(以及其他一些非平凡的任务)。它还生成一个字符串,该字符串将用作Scons创建的可执行文件的名称。
我想从我的Python脚本传递此信息给Scons,然后调用Scons。是否有简单的方法来实现这一点?
我能想到以下可能性:
- 使用
我的Python脚本从用户那里接受一个目录列表,其中包含要编译的代码(以及其他一些非平凡的任务)。它还生成一个字符串,该字符串将用作Scons创建的可执行文件的名称。
我想从我的Python脚本传递此信息给Scons,然后调用Scons。是否有简单的方法来实现这一点?
我能想到以下可能性:
- 使用
subprocess.call(“scons”…)
将不确定scons是否接受我需要传递的所有信息作为命令行参数。
- 让Python脚本写入文件。让SConscript解析文件并获取传递的信息。
SCons.Script.main()
,但最终决定不这样做。我选择在subprocess.call()
调用中包装该调用,并按照我的答案中提到的处理命令行参数。我认为试图绕过实际的 Scons 脚本可能会导致一系列问题 :) - Brady