我想在执行一些操作后启动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
答案 0 :(得分:1)
尝试:
code.interact(banner="use Api.<Crud Command> to do a method", local={"Api": Api})