On 2016-07-29, TUA <kai.pet...@gmail.com> wrote: > Rather than do this: > > if test['method'] == 'GET': > res = requests.get(test['endpoint'], auth=test['auth'], > verify=False) > elif test['method'] == 'POST': > res = requests.post(test['endpoint'], auth=test['auth'], > verify=False, json=test['body']) > elif test['method'] == 'PUT': > res = requests.put(test['endpoint'], auth=test['auth'], > verify=False, json=test['body']) > elif test['method'] == 'DELETE': > res = requests.delete(test['endpoint'], auth=test['auth'], > verify=False) > elif test['method'] == 'HEAD': > res = requests.head(test['endpoint'], auth=test['auth'], > verify=False) > > I would like to call the requests method that corresponds to > test['method'] by finding that function by name - how can I achieve > that?
if test['method'] not in ('GET', 'POST', 'PUT', 'DELETE', 'HEAD'): raise ValueError('Unknown method %r' % (test['method'],)) res = getattr(requests, test['method'].lower())( test['endpoint'], auth=test['auth'], verify=False) although in the specific case of using requests you could just do: res = requests.request(test['method'], test['endpoint'], auth=test['auth'], verify=False) -- https://mail.python.org/mailman/listinfo/python-list