def ExpandSelf(self): '''展开自身''' for envVarName, envVarSet in self.envVarSets.iteritems(): d = os.environ.copy() # 支持系统的环境变量的 for envVar in envVarSet: key = envVar.GetKey() val = envVar.GetValue() val = Globals.ExpandVariables(val, d, True) # 清除变量 envVar.SetValue(val) d[key] = val
def ExpandVariables(self, expr, trim=False): result = expr d = {} for envVar in self.GetActiveEnvVars()[::-1]: d[envVar.GetKey()] = envVar.GetValue() #result = result.replace('$(%s)' % envVar.GetKey(), #envVar.GetValue()) result = Globals.ExpandVariables(result, d, trim) return result