def expand_env_var(env_var):
 if (not env_var):
  return env_var
 while True:
  interpolated = os.path.expanduser(os.path.expandvars(str(env_var)))
  if (interpolated == env_var):
   return interpolated
  else:
   env_var = interpolated

def expand_env_var ( env_var ) : if ( not env_var ) : return env_var while True : interpolated = os . path . expanduser ( os . path . expandvars ( str ( env_var ) ) ) if ( interpolated == env_var ) : return interpolated else : env_var = interpolated
expands env vars by repeatedly applying expandvars and expanduser until interpolation stops having any effect .