在这种情况下,当应用程序关闭时如何避免类型错误?

How to avoid type error in this case, when the application is closed?

我有以下代码,但是当我退出应用程序时,我得到: “TypeError:'in ' 需要字符串作为左操作数,而不是 NoneType” 问题是我从队列中获取主机名,如何解决这个问题以免出错?否则它正在做它的工作。

hostname = self.queue.get()
with open("allhosts.txt", "r") as f:
    if hostname in f.read():
        self.found.emit(hostname)
    else:
        self.notFound.emit(hostname)

根据您提到的错误,它应该在 self.queue.get()None 出现时发生。因此,在继续检查文件内部之前,您可能需要一个 if 条件来检查 hostname 是否存在。