为什么在Python中使用import BaseHTTPServer?

为什么在Python中使用import BaseHTTPServer?,python,python-2.7,webserver,Python,Python 2.7,Webserver,这是我从如何使用python脚本在终端中运行来创建本地服务器的教程中获得的代码 import SimpleHTTPServer import SocketServer import BaseHTTPServer import os HOSTNAME = "localhost" PORT = 8000 HANDLER = SimpleHTTPServer.SimpleHTTPRequestHandler os.chdir("/Users/Team/Desktop/python server

这是我从如何使用python脚本在终端中运行来创建本地服务器的教程中获得的代码

import SimpleHTTPServer
import SocketServer
import BaseHTTPServer
import os

HOSTNAME = "localhost"

PORT = 8000

HANDLER = SimpleHTTPServer.SimpleHTTPRequestHandler

os.chdir("/Users/Team/Desktop/python server")

httpd = SocketServer.TCPServer((HOSTNAME, PORT), HANDLER)


print "serving at port", PORT
httpd.serve_forever()
我想知道为什么他们必须导入BaseHTTPServer?有人能解释一下吗?下面是Python.org的版本

import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()
您将看到没有import BaseHTTPServer,有人能向我解释一下原因吗


这些代码在Python 2.7中,如果我想将其更改为Python 3,我还需要导入BaseHTTPServer吗?

正如您所发现的,导入它会产生有意义的影响。至于它为什么会出现——谁知道呢?也许本教程的作者打算在本教程的后面部分使用它,或者可能它是从一个更大的样本改编而来的。关键是,如果没有引用它,则不需要导入它


这同样适用于Python3。

因此,如果没有它,我的服务器将很好,对吗?以后还有别的目的。非常感谢^^如果你不使用它,你会没事的。一旦/如果你需要它,你可以再导入一次。恐怕那根本不是真的。有很多例子表明导入某些东西会产生必要的副作用,例如注册插件类。您不能仅仅依赖于您自己的代码中没有引用的东西