当我使用内置的len函数时,为什么我在python中得到len缺失的错误消息?



我目前正在研究一个python项目- windows应用程序/软件,该项目具有GUI,您可以在其中放置患者信息等,所有这些都将用于本地mysql数据库/表。所有这些都有效,但我的IDE VS代码给出了4个错误消息,其中一个错误与"len()"函数。我会提供Github链接的整个代码加上错误信息,所以如果有人能帮助,请这样做!谢谢你!

https://github.com/ethicalduty/Hospital_Management_Software_Windows/blob/main/main_Hospital_Management_Software_Windows_3.11.0.py

我是新的编程,所以我不能做太多除了试图在谷歌上找到类似的解决方案。到目前为止,我还没有发现任何已经解决的问题,因此在这里寻求帮助!

您看到的是类型检查问题,而不是运行代码时发生的真正的Python错误。它们警告代码中可能存在真正的错误,但是您应该能够不顾一切地运行它,并且代码可能会正常工作。是否存在真正的问题可能取决于代码正在处理的数据(它可能对某些类型的数据有效,但对其他类型的数据无效),或者类型检查器解释代码的方式可能不准确(因此代码中根本没有真正的问题)。

len有关的问题似乎是说您的rows = my_cursor.fetchall()语句可能会将None分配给rows,这将导致在您执行len(rows)的地方出现错误。我不知道MySQL的Python绑定,所以我不确定类型检查器的假设是否正确,即查询可能导致fetchall返回None(而不是空列表),但如果是这种情况,您可以通过检查rows不是None来轻松修复类型检查问题(并且在运行代码时可能出现真正错误的可能性很小)在检查其长度之前:

rows = my_cursor.fetchall()
if rows is not None and len(rows) != 0:
...

最新更新