python如何更改全局变量
我想得到上传成功的某种确认,我的方法定义如下。然而,全局变量的值并没有改变。请帮忙python如何更改全局变量,python,Python,我想得到上传成功的某种确认,我的方法定义如下。然而,全局变量的值并没有改变。请帮忙 global upload_confirm upload_confirm = False def confirm_upload(): upload_confirm = True def start_new_upload(): confirm_upload() while (upload_confirm != True): print "waiting for uploa
global upload_confirm
upload_confirm = False
def confirm_upload():
upload_confirm = True
def start_new_upload():
confirm_upload()
while (upload_confirm != True):
print "waiting for upload to be true"
time.sleep(5)
if (upload_confirm == True):
print "start Upload"
start_new_upload()
你可以试试这个:
def confirm_upload():
global upload_confirm
upload_confirm = True
由于您在局部范围内执行
upload\u confirm=True
,Python将其视为局部变量。因此,您的全局变量保持不变。您需要将global
语句放在要访问全局变量的范围内,即:
upload_confirm = False
def confirm_upload():
global upload_confirm
upload_confirm = True
global
语句应位于函数内部
def confirm_upload():
global upload_confirm
upload_confirm = True
否则,
upload\u confirm=..
将创建一个局部变量。在confirm\u upload()
方法中尝试此操作
def confirm_upload():
global upload_confirm #Add this line
upload_confirm = True
您需要在方法内部将其声明为全局,否则它将默认为局部。如果我只想读取全局变量,是否可以跳过每个函数开头的
global
声明?