在我的主函数中,我从环境变量中获取 API token 。我应该使用 global 还是将其作为参数传递给所有使用 api_token 的函数?
def main():
api_token = os.environ.get('API_TOKEN')
def request_data():
url = 'https://api.example.com/search'
headers = {'Authorization': 'token {}'.format(api_token)
params = {}
r = requests.get(url, params=params, headers=headers)
def update_data():
url = 'https://api.example.com/update'
headers = {'Authorization': 'token {}'.format(api_token)
data = {}
r = requests.put(url, data=json.dumps(data), headers=headers)
最佳答案
使用类来封装请求逻辑怎么样?
def main():
api_token = os.environ.get('API_TOKEN')
api = Api(api_token)
api.request_data()
class Api(object):
def __init__(self, token):
self.token = token
def request_data(self):
url = 'https://api.example.com/search'
header = {'Authorization': 'token {}'.format(self.token)
params = {}
r = requests.get(url, params=params, headers=headers)
def update_data(self):
url = 'https://api.example.com/update'
header = {'Authorization': 'token {}'.format(self.token)
data = {}
r = requests.put(url, data=json.dumps(data), headers=headers)
关于python - api token 应该如何传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56417322/