[Python3]如何解决此警告?(分配前引用了局部变量)

时间:2018-09-19 06:47:23

标签: python python-3.x pycharm warnings local-variables

The Picture of my Code

我使用了xlrd模块。它运行得很好。但是,我想解决该警告。怎么做?

3 个答案:

答案 0 :(得分:0)

您需要将print_all_cell放在try块的末尾。

答案 1 :(得分:0)

如果try块引发异常,则不会定义sheet。只需将其用法移至try块内即可(因为即使不初始化sheet也是毫无意义的):

try:
    wb = xlrd.open_worbook("/path/to/file")
    sheet = wb.sheet_by_name("mysheet")
    print_all_cell(sheet) # Here!
except IOError:
    # Handle error...

答案 2 :(得分:0)

您试图打开工作簿,然后再减速变量表。 Pycharm没有在异常块中得到提示,如果出现问题,您将退出应用程序。因此,它假设-好的,用户正在尝试在try块中减速一个新变量,如果在该声明之前会发生异常,则不会对其进行初始化。请检查以下示例:

try:
    a = int('abc')
    b = a + 5
except ValueError:
    pass

print(b)

运行时,您将获得NameError: name 'b' is not defined