Запуск Python http.server из определённой директории
Суть вопроса в следующем:
- Есть директория с локальными веб-страницами ~/<%DIRECTORY_PATH%>
- Есть команда для запуска простейшего HTTP-сервера python3 -m http.server PORT
Чтобы иметь возможность обращаться с веб-страницам из п.1, я должен руками пройти путь из двух команд: сделать cd в нужную директорию и запустить там с амперсандом сервер. У меня есть скрипт на Python, который должен работать за меня. Как можно ГРАМОТНО запустить сервер из п.2 из необходимой мне директории из п.1? Пусть даже каким-либо subprocess.Popen В данном вопросе меня смущают два момента:
- Как запустить сервер из нужного места?
- Возможно ли это сделать при помощи subprocess.Popen? И как тогда будет выглядеть код для запуска, раз уж и сервер, и сам скрипт, запускающий сервер, запускаются питоном. А для запуска сервера нужен ещё и флажок -m
Ответы (1 шт):
Автор решения: Damien Damie Amfiet
→ Ссылка
#!/usr/bin/python3.8
import http.server
import socketserver
import os
PORT = 8000
DIR = 'DIR_PATH'
ADDRESS = ''
os.chdir(DIR)
Handler = http.server.SimpleHTTPRequestHandler
try:
with socketserver.TCPServer((ADDRESS, PORT), Handler) as httpd:
httpd.serve_forever()
finally:
httpd.server_close()
Ответ был найден Ну и этот скрипт запускается через Popen, после чего обращается уже через браузер по локалхосту + 8000 порту.