2013-11-11 2 views
0

Это код, который я получил от Tutorial как сделать локальный сервер с помощью питона скрипт для запуска в терминалеЗачем использовать импорт BaseHTTPServer в 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() 

Вы увидите, что нет импорта BaseHTTPServer, может кто-нибудь объяснить мне, почему?

и эти коды находятся в Python 2.7, если я хочу изменить его на python. 3 Нужно ли мне по-прежнему импортировать BaseHTTPServer?

ответ

0

Импорт имеет существенное влияние, как вы обнаружили. А почему он там - кто знает? Возможно, автор учебника предполагал использовать его позже в учебнике, или, может быть, он был адаптирован из более крупного образца. Дело в том, что если ничего не ссылается на него, вам не нужно его импортировать.

То же самое относится к python 3.

+0

поэтому без него мой сервер будет в порядке? тогда только для некоторых других целей. Большое спасибо ^^ – Team

+0

Если вы не используете его, со мной все будет в порядке. Если вам это понадобится, вы можете просто импортировать его снова. – DanielB

+0

Это просто неправда, я боюсь. Существует множество примеров, когда импорт чего-то имеет необходимый побочный эффект, например, регистрацию класса плагина. Вы не можете полагаться только на вещи, на которые не ссылаются в вашем собственном коде –

Смежные вопросы