将SCONS工具集成到Python代码中

    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工具正常使用。

相关文章
相关标签/搜索