我正在尝试从python服务向另一服务定期发送一个double数组。
作为python
的初学者,我读了很多有关Flask
和requests
的文章。这是一个简单的示例代码。我只想学习语法。谁能告诉我这是怎么回事。
Server1:通过烧瓶发送阵列
from flask import Flask
app = Flask(__name__)
a=[]
for i in range(10):
a.append(i)
@app.route('/')
def hello_world():
return '{}'.format(a)
if __name__ == '__main__':
app.run(debug=True)
服务器2:获取数组并执行一些数学运算
import requests
r = requests.get('https://127.0.0.1:5000')
y = r[1] + r[2]
print(y)
我的主要问题是:如何通过Flask传递双精度和整数而不是字符串?
答案 0 :(得分:1)
最好使用JSON或其他数据格式进行数据交换,而不要使用字符串。
json
的示例:
# SEND
from flask import jsonify
...
@app.route('/')
def hello_world():
d = {"my_numbers": list(range(10))} # create data structure
return jsonify(d) # respond with JSON reporesentation of data
...
# GET
import requests
r = requests.get('https://127.0.0.1:5000')
if r.status_code == 200: # request was successful
numbers_array = r.json()["my_numbers"] # get [0, 1, 2, ...] from response
print(numbers_array[1] + numbers_array[2]) # perform math ops
else: # server is down or wrong request
print('error getting data from server:', r.status_code, r.text)