code: def visit_with(self, node):  # 'with' without 'as' is possible
          
          items = ", ".join(
              ("%s" % expr.accept(self)) + (vars and " as %s" % (vars.accept(self)) or "")
              for expr, vars in node.items
          )
          return "with %s:\n%s" % (items, self._stmt_list(node.body))
docs: return an astroid.With node as string