Вы можете использовать метод Substfile
.Это берет входной файл и производит выходной файл, заменяющий отмеченные переменные.Так что если у вас есть script.py.in
:
#!/usr/bin/python
print "$SOFTWARE_VERSION"
Тогда вы можете использовать следующий файл SConsctruct для генерации вывода:
env = Environment(tools=['textfile'])
script_dict = {'\$SOFTWARE_VERSION': '1.0'}
env.Substfile('script.py.in', SUBST_DICT = script_dict)
Вам нужно экранировать $
в строке'\$SOFTWARE_VERSION'
в противном случае SCons интерпретирует его как внутреннюю переменную среды.Результатом будет файл script.py
с таким содержимым:
#!/usr/bin/python
print "1.0"
Затем вы можете установить полученный файл с заменой, используя env.Install
.