-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunc_pack.py
43 lines (35 loc) · 1.32 KB
/
func_pack.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- encoding:utf-8 -*-
import requests
import logging
import json
import datetime
# 将 bytes 转换为 string
def _bytes_to_str(bytes_info):
return bytes_info.decode("utf-8")
# 将 requests.get 或 post 的结果 result 获取到的信息转为由 dict 构成的 list
# 使用方法 :
# content = requests.get('http://23.106.158.242:30080/users')
# get_api_info(content)
# 注意! API 的 json 数据的最外层必须是 list 的形式,如 [{'k':'value'}]
# 不用 list 作为最外层将不能转化成功,如 {'k':'value'}
def get_api_info(request_result):
content_str = request_result.content.decode("utf-8")
list_content = []
# print("json.loads length=" + str(len(json.loads(content_str))))
# 若 api 返回的是空值
if json.loads(content_str) is None:
# 返回空的 list
return []
# 否则对 api 信息进行处理
else:
for item in json.loads(content_str):
list_content.append(item)
# 返回处理好的 list
return list_content
# 生成当前时间 格式为 %Y-%m-%d/%H:%M:%S
def get_current_datetime():
return str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
if __name__ == '__main__':
content = requests.get('http://174.137.53.253:30500/api/competition/all-competitions')
print(get_api_info(content))
pass