我想在我的RequestHandler类中定义一些变量,该类是BaseHTTPRequestHandler的子类。然后,应该可以从我的do_Post()函数内部访问这些变量。通常,我会在__ init__()方法中定义这些变量,但是python docs about the BaseHTTPRequestHandler class
说“子类不应该需要覆盖或扩展__ init__()方法。”
那么,实现这一目标最优雅的方式是什么呢?
from http.server import BaseHTTPRequestHandler, HTTPServer
class RequestHandler(BaseHTTPRequestHandler):
def do_POST(self):
#do some stuff发布于 2018-09-10 19:57:16
不应该需要意味着您不必担心该方法,库将在实例上不设置任何特殊属性的情况下工作。然而,这并不意味着你不能。
例如,BaseHTTPRequestHandler类本身没有定义__init__方法,但同一模块中的SimpleHTTPRequestHandler类是BaseHTTPRequestHandler的直接子类,后者定义了__init__方法。
您的代码可以很好地定义一个:
class RequestHandler(BaseHTTPRequestHandler):
def __init__(self, ...):
# do something with arguments and set state on self
def do_POST(self):
# do some stuffhttps://stackoverflow.com/questions/52256931
复制相似问题