Python http.server 2个实例和2个文件夹

时间:2016-04-04 11:50:44

标签: python

我正在使用python http.server在不同的端口初始化2个实例并从文件夹中提供html文件......

import http.server
import socketserver
import os

PORT1 = 8000
PORT2 = 8001

os.chdir("html/folder1/")
Handler1 = http.server.SimpleHTTPRequestHandler

os.chdir("../folder2/")
Handler2 = http.server.SimpleHTTPRequestHandler

httpd1 = socketserver.TCPServer(("", PORT1), Handler1)
httpd2 = socketserver.TCPServer(("", PORT2), Handler2)

print("serving at port", PORT1)
print("serving at port", PORT2)

httpd1.serve_forever()
httpd2.serve_forever()

加载时没有错误,但我只能加载http://localhost:8000

我出错的任何想法?

1 个答案:

答案 0 :(得分:1)

serve_forever方法只是...提供http请求,永不退出。所以当你这样做时:

httpd1.serve_forever()
httpd2.serve_forever()

第二个语句永远不会被执行,因为第一个语句永远不会退出。可能你可以通过将每次调用serve_forever放在专用线程中,然后等待所有线程完成来完成这项工作,但可能有更好的解决方案。