如果我有python ......
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
如何让它与......一起使用?
myvar = 'get'
r = requests.myvar('https://api.github.com/user', auth=('user', 'pass'))
即。将字符串解析为命令?
答案 0 :(得分:4)
使用getattr
:
myvar = 'get'
getattr(requests, myvar)('https://api.github.com/user', auth=('user', 'pass'))
答案 1 :(得分:0)
getattr()
可以完美地工作,但这也意味着用户可以指定他们选择的任何方法,可能是您不想公开的方法。另一种方法是:
{
"get": requests.get,
"post": requests.post, # maybe
# etc
}[myvar]('https://api.github.com/user', auth=('user', 'pass'))
答案 2 :(得分:0)
你可以使用getattr, https://docs.python.org/2/library/functions.html#getattr
r = getattr(requests, myvar)('https://api.github.com/user', auth=('user', 'pass'))
答案 3 :(得分:0)
好了我的头顶
myvar = 'get'
getattr(requests, myvar)('https://api.github.com/user', auth=('user', 'pass'))