使用Python的serve()函数实现一个简单的文件服务器。
发布时间:2023-12-28 17:09:11
使用Python的http.server模块的serve()函数可以实现一个简单的文件服务器。该函数默认使用8000端口,并且将当前目录作为文件服务器的根目录。
下面是一个使用例子:
from http.server import HTTPServer, SimpleHTTPRequestHandler
def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
if __name__ == '__main__':
run()
将上述代码保存为一个.py文件(例如file_server.py),在命令行运行该文件,即可启动一个简单的文件服务器。
当然,您可以将其它的功能加入到该脚本中。例如,您可以添加一个额外的路由来处理某些特定的请求:
from http.server import HTTPServer, SimpleHTTPRequestHandler
import urllib.parse
class MyHandler(SimpleHTTPRequestHandler):
def do_GET(self):
url_parts = urllib.parse.urlparse(self.path)
if url_parts.path == '/special':
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b'Special page')
return
else:
# 默认处理方式
return SimpleHTTPRequestHandler.do_GET(self)
def run(server_class=HTTPServer, handler_class=MyHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
if __name__ == '__main__':
run()
上述代码添加了一个新的路由/special,当访问该路由时,会返回一个Special page。
以上就是使用Python的serve()函数实现一个简单的文件服务器的示例。您可以根据需求对其进行扩展和定制。
