TypeError: 'NoneType' object is not callable (python decorators)

TypeError: 'NoneType' object is not callable (python decorators)

我在使用 get_frame_work() 时收到 TypeError: 'NoneType' object is not callable 错误。我该如何解决?

import sys


def main(frame_work):
    if frame_work() == "selenium":
        pass
    elif frame_work() == "puppeteer":
        pass
    elif frame_work() == "play_wright":
        pass
    else:
        raise Exception("Invalid command!")


@main
def get_frame_work():
    return str(sys.argv[1].lower())


get_frame_work() #get_frame_work does not give an error unlike get_frame_work().

装饰器需要 return 包装装饰函数的实际函数对象。像这样修改您的 main 将使它起作用。

import sys


def main(frame_work):
    def f(): 
        if frame_work() == "selenium":
            pass
        elif frame_work() == "puppeteer":
            pass
        elif frame_work() == "play_wright":
            pass
        else:
            raise Exception("Invalid command!")
    return f