启动包含本地对象的python解释器

时间:2015-07-09 19:36:56

标签: python python-3.x

我想在执行一些操作后启动python解释器,以使用户更容易。到目前为止,我有一个我想要的骨架。

class ApiManager(object):
  def __init__(self, username, password, version='v1'):
    self.base_url = 'http://localhost:3000/api/' + version + '/{endpoint}'

    login = requests.post(self.base_url.format(endpoint='login'), {
      'user': username, 'password': password
    }).json()['data']

    self.headers = {
      'X-Auth-Token': login['authToken'],
      'X-User-Id': login['userId']
    }

  def get(self, endpoint):
    " example method "
    return requests.get(self.base_url.format(endpoint))

if __name__ == '__main__':
  Api = ApiManager('user@user.org', 'password')
  code.interact(banner="use Api.<Crud Command> to do a method")

但是,我想知道的是,如何将此本地导入我的code.interact

我已尝试local=Api,但这不起作用,说TypeError: exec() arg 2 must be a dict, not ApiInterpreter。我尝试使用Api.__dict__(),但这也不起作用。我也认为可以继承code.InteractiveConsole

1 个答案:

答案 0 :(得分:1)

尝试:

code.interact(banner="use Api.<Crud Command> to do a method", local={"Api": Api})