我从互联网上获得了我的项目的代码,并且有一个带有参数的函数,我需要更改全局变量值
这是一个烧瓶请求json应用程序,我使用ifttt将json发送到该项目。我试图通过此代码进行更改,但不会更改,X始终为1
X=1
@app.route('/',methods=['POST'])
def index():
req = request.get_json(silent=True, force=True)
val = processRequest(req)
#print(val)
r = make_response(json.dumps(val))
r.headers['Content-Type'] = 'application/json'
return r
def processRequest(req):
device = req['device']
state = json.loads(req['state'])
#print(state)
if (device=='bedlamp'):
global()['X']=int(30)
我希望在ifttt发送设备床灯时使用,全局变量的值变为30,有人可以帮我吗?
答案 0 :(得分:1)
要在函数内更改名为X的全局变量,您必须执行以下操作:
1)将变量带入函数范围
global X
2)更改其值
X = 30
如此:
def abc():
global x
x = 30
答案 1 :(得分:0)
您需要使用global
关键字,如下所示:
def processRequest(req):
device = req['device']
state = json.loads(req['state'])
if (device=='bedlamp'):
global X
X = 30