SCONS是Python的自动智能结构化编译工具,未来或许能代替Make。ide
在Windows或者Linux下,SConstruct文件至关于MakeFile,使用SCONS编译,需输入scons.bat(scons),后面带上编译选项options(如SConstruct所在的路径)。观察scons.bat这个脚本,能够在其余Python代码中,将SCONS工具看成一个函数来调用。这个函数就是Scons.Script.main(),这个main函数将解析命令行中的编译选项,经过sys.argv[1:]来传入。因此只需修改这个函数,就能够以函数的方式调用,不须要经过如Popen等方式在代码中启动scons。函数
先找到SCONS安装的目录,如C:\\Python27\Scons-2.3.1包,将Scons\Script\Main.py中main()函数声明中,添加一个传入参数,变为:工具
def main(args_):测试
同时将_exec_main(Parser,Values)声明,也变为:命令行
__exec_main(args_,Parser,Values)ip
而后main(args_)经过调用__exec_main(args_,Parser,Values),将参数传给__exec_main,在__exec_main中再将sys.argv[1:]替换为args.split().it
修改完Main.py以后,执行以下,实现替换二进制源文件(Main.pyc):io
>>import py_compile编译
>>py_compile(r'C:\\Python27\\Scons-2.3.1\\Scons\\Script\\Main.py')class
使用以下代码测试:
>>import os
>>import sys
>>sys.path=[os.path.join(sys.prefix,'Scons-2.3.1')]+sys.path
>>import Scons.Script
>>Scons.Script.main('.')
Scons工具正常使用。