|
发表于 2023-7-19 11:48:43
|
显示全部楼层
根据您提供的代码,list_1 被定义为一个局部变量,并且在 for 循环中进行了赋值操作,但是在使用 print 语句打印 list_1 时报错,提示该变量未定义。
这个错误的原因是变量的作用域(scope)问题。在 Python 中,如果在函数内部或某个代码块内定义了一个变量,它默认将被视为局部变量,只有在该函数或代码块的范围内才能访问。
在您的代码中,list_1 是在 for 循环的代码块中定义的,因此它只在该代码块内部可见。当尝试在循环外部的 print 语句中访问 list_1 时,会出现变量未定义的错误。
要解决这个问题,您可以在循环之前将 list_1 初始化为一个空列表,这样就可以在整个代码块中对其进行访问和修改:
- list_1 = [] # 在循环之前初始化 list_1
- for i in range(2, page+1):
- list_1 += re.findall(pattern, brower.page_source)
- next_button.click()
- print(f'爬取第{i}页')
- print(len(list_1))
- print(list_1)
- brower.close()
复制代码
通过将 list_1 的初始化放在循环之前,将其定义为全局变量,从而使其在整个代码块中都可见。这样,您应该能够成功访问和打印 list_1 变量。
希望这个解释对您有所帮助!如果您有任何进一步的问题,请随时提问。 |
|