在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