Найти - Пользователи
Полная версия: простой способ опубликовать скрипт python на html
Начало » Python для новичков » простой способ опубликовать скрипт python на html
1
touch
Добрый день.
У меня есть несколько скриптов на python. Хочется их запускать не из консоли операционной системы, а заходя на вебстраничку своего сайта.
Собственено затык в создании этой страничке. Как поднять web сервер есть понимание.

нужно чтото краткой инструкции
1) создай определенный html(или другой) файлик и размести его в корне своего сайта, в нем должены быть указаны пути к твоим python скриптам
2) открой этот файл в браузере httpsite/index.html
3) выбери нужный тебе скрипт(кнопка) и наслаждайся

заранее благодарю!
ZerG
https://pyscript.net/
touch
Сейчас через pyscript и пользуюсь, не очень нравится скорость выполнения… особенно медленно с мобильного телефона. Я так понимаю поможет мне решить мою задачу что-то типа flask или django или fastApi. Пробовал с ними разобраться, но ничего не получилось. Уверен, что знающие люди обладают знанием - направьте в правильный мануал, а еще лучше, чтобы это был пример. Благодарю!
ZerG
куда уже проще то?
Берем самый простой пример
https://fastapi.tiangolo.com/#example

вот в нем для примера
 import subprocess
import script1
@app.get("/script1")
def run_script1():
    res = subprocess.run(["python", "script1.py", "Bob"])
    #ну или через импорт скрипта
    #res = script1.your_function_name()
и все
touch
Премного благодарен.
Буду пробовать.
Результат напишу!
touch
ура! стало немного понятнее!
что получилось.
main.py
 from fastapi import FastAPI
import sys
import subprocess
app = FastAPI()
def run_program():
    s2_out = subprocess.check_output([sys.executable, "script2.py"])
    return s2_out
@app.get("/")
async def read_root():
    return run_program()

script2.py
 #!/usr/bin/env python3
import re
import string
#quest = input('напишите цифры: ')
quest = '1234567890'
numwords = {"0":"Ноль", "1":"Один", "2":"Два", "3":"Три", "4":"Четыре", "5":"Пять", "6":"Шесть", "7":"Семь", "8":"Восемь", "9":"Девять"}
for letter in quest:
        if letter.isdigit():
                quest = quest.replace(letter, numwords[letter])
print(quest)
запуск командой uvicorn main:app –host 192.168.255.185
вывод в браузере по ссылке http://192.168.255.185:8000


touch
Появилось огромное желание и необходимость к данному коду добавить возможность на сайт
  • input - ввод какихто данных
  • кнопку - после нажатия запускается скрипт
Тоесть после ввода цифр в поле input и нажатия кнопки - выводился результат
Тоесть как передать(input) с сайта в скрипт и вывести результат скрипта
ZerG
Ну и? Читай документацию по ФастАпи - там все это есть даже с примерами кода
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB