//1.py
import http.server
import socketserver
import os
import threading
import sys# 獲取當前腳本所在的目錄
DIRECTORY = os.path.dirname(os.path.abspath(__file__))# 設置服務器的端口
PORT = 8000# 自定義Handler,將根目錄設置為腳本所在目錄
class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):def __init__(self, *args, **kwargs):super().__init__(*args, directory=DIRECTORY, **kwargs)# 創建服務器對象
httpd = socketserver.TCPServer(("", PORT), MyHTTPRequestHandler)# 定義一個函數,用于監聽鍵盤輸入
def wait_for_quit():input("按任意鍵退出服務...\n")print("正在關閉服務器...")httpd.shutdown() # 關閉服務器httpd.server_close() # 釋放端口print("服務器已關閉。")sys.exit(0) # 退出程序# 啟動服務器
print(f"服務器已啟動,訪問地址: http://<電腦的IP地址>:{PORT}")
print(f"服務器根目錄: {DIRECTORY}")# 啟動一個線程來監聽鍵盤輸入
quit_thread = threading.Thread(target=wait_for_quit)
quit_thread.daemon = True # 設置為守護線程,主線程退出時自動結束
quit_thread.start()# 啟動服務器主循環
try:httpd.serve_forever()
except KeyboardInterrupt:print("\n服務器已關閉。")