#python #python-3.x #google-chrome
#питон #python-3.x #google-chrome
Вопрос:
Python 3.10.0 в Windows, на консоли (терминал Windows или что-то в этом роде), имя файла ‘test.py’:
import time import threading from http.server import SimpleHTTPRequestHandler, HTTPServer def main(): server = HTTPServer(('127.0.0.1', 0), SimpleHTTPRequestHandler) server_thread = threading.Thread(target=server.serve_forever, daemon=True) server_thread.start() print(f"http://localhost:{str(server.server_address[1])}/") try: while True: time.sleep(.1) except KeyboardInterrupt: print('Ctrl-C') server.shutdown() print('server.shutdown() OK') if __name__ == '__main__': main()
Бежать python.exe test.py
. Ты увидишь «http://localhost:xxxxx». Немедленно нажмите Ctrl-C, чтобы вы увидели «Ctrl-C», «server.shutdown() OK» и командную строку. Это то, что мне нужно.
Затем запустите python.exe test.py
и откройте «http://localhost:xxxxx» по Хрому. Закройте вкладку и нажмите Ctrl-C на консоли. В это время Python вешает трубку server.shutdown()
. Как я могу это исправить?
Firefox этого не делает, но мне нужно поработать с Chrome.
Комментарии:
1.
ThreadingHTTPServer
вместоHTTPServer
того, чтобы решить ее.