0

这是我从如何使用 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 3,这些代码在 Python 2.7 中我还需要导入 BaseHTTPServer 吗?

4

1 回答 1

0

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

这同样适用于 python 3。

于 2013-11-11T07:50:20.040 回答