code: def find_exchange_rxns(model):
      u
      try:
          extracellular = find_compartment_id_in_model(model, 'e')
      except KeyError:
          extracellular = None
      return find_boundary_types(model, 'exchange', extracellular)
docs: u"""
      Return a list of exchange reactions.
  
      Parameters
      ----------
      model : cobra.Model
          The metabolic model under investigation.
  
      Notes
      -----
      [1] defines exchange reactions as:
      -- reactions that 'define the extracellular environment'
      -- 'unbalanced, extra-organism reactions that represent the supply to or
      removal of metabolites from the extra-organism "space"'
      -- reactions with a formula such as: 'met_e -> ' or ' -> met_e' or
      'met_e <=> '
  
      Exchange reactions differ from demand reactions in that the metabolites
      are removed from or added to the extracellular environment only. With this
      the uptake or secretion of a metabolite is modeled, respectively.
  
      References
      ----------
      .. [1] Thiele, I., & Palsson, B. Ø. (2010, January). A protocol for
             generating a high-quality genome-scale metabolic reconstruction.
             Nature protocols. Nature Publishing Group.
             http://doi.org/10.1038/nprot.2009.203