变量未定义 NameError: name 'download_page' is not defined
def save_content(data_num,data_big,data_all):
download_page = 100 * data_num * data_big / data_all
if download_page > 100:
download_page = 100
print "%.2f%%" % download_page
为什么报错 NameError: name 'download_page' is not defined
明明在第二行就定义过了啊 download_page
,求解。
解决方案:
python
使用缩进表示语句块,改成下面这样
def save_content(data_num,data_big,data_all):
download_page = 100 * data_num * data_big / data_all
if download_page > 100:
download_page = 100
print "%.2f%%" % download_page
你请求的 url 响应头里面没有Content-Length
字段,urllib.urlretrieve(url[, filename[, reporthook[, data]]])
的第三个参数 reporthook
是一个回调函数,这里就是 save_content
这个函数。
data_all
这个参数对应 Content-Length
的值,由于没有定义,默认为 -1
所以显示负数。