如何运行http.server.HTTPServer(),其地址不是当前目录

时间:2016-10-26 04:00:30

标签: python-3.x http server

在python3中,有人可能会运行一个http.server.HTTPServer(addr,Handler),其中addr不是当前目录。

以下是我尝试过的一些代码。

#!/usr/bin/python

import http.server
#import socketserver
import os

#os.chdir('../web/')

PORT = 8000

#path = '../web/'
#path = '..\\web\\'
path = os.path.join('..', 'web')

#addr = ("", PORT)
#addr = ('..\\web\\', PORT)
addr = (path, PORT)

Handler = http.server.CGIHTTPRequestHandler
httpd = http.server.HTTPServer(addr, Handler)
httpd.serve_forever()

如果我使用os.chdir('../web/')然后使用addr = ("", PORT),则可以调用http.server.HTTPServer(addr, Handler),并显示网页。如果我不想更改目录而是使用相对目录,我该如何让它工作?我使用了os.path.join()和其他各种显示的迭代,我总是得到错误:socket.gaierror: [Errno 11004] getaddrinfo failed

0 个答案:

没有答案