Скрипт Python, встроенный в HTML

0

Я видел много вопросов, которые задают похожие вещи, но я чувствовал, что никто из них не спросил об этом определенным образом. У меня есть сценарий Python, который запрашивает номер ввода и пытается рассчитать другое число, основанное на некоторых переменных. Это очень просто, но я хотел бы иметь возможность запускать его из HTML-ссылки. Есть ли способ сделать это с прямым HTML? Код Python:

Q = 'y'
while (Q != 'n'):
      B = 3.512929      
      S = input("Number? ")      
      F = S/B
      if (S > 200):
            F = F - 50
            S = S - 200      
      for i in range(int(F),int((F*2)+1)):
            four = float(S/i - 0.1)
            if (four < B and four > 1.5):
                  if (i%5 == 0):
                      print ("The second number might be " + str(i))
                      print ("")
      Q = raw_input("Continue?(y/n) ")

Когда сценарий запущен, в командной строке спрашивается, что это за номер, и затем отображает возможные второстепенные числа, если они делятся на 5. Это очень приятно и просто. Фактически, единственным реальным Pythonic-кодом является диапазон (int, int). Я думаю, что это, вероятно, может быть написано на PHP или даже на Javascript, но я не знаю, как... Я просто хочу, чтобы он запускался с HTML-страницы. Кто-нибудь знает как это делать?

  • 0
    Вы можете сделать это в Python так же, как в PHP - то есть, с поддержкой на стороне сервера, либо встроенным кодом CGI, либо mod_python . Но есть лучшие способы написания серверного кода на Python, чем CGI. Это то, что вы хотите?
  • 0
    В качестве альтернативы, если вы хотите, чтобы это был чистый код на стороне клиента, если вы не можете полагаться на людей, устанавливающих нестандартные подключаемые модули в своих браузерах, вам потребуется либо (частичный) интерпретатор Python с JS, либо (частичный) Python- Компилятор to-JS, или интерпретатор Python, работающий на Java, Flash или что-то еще, что может работать на веб-странице. Один из тех, что вы хотите?
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Невозможно сделать это с помощью "прямого HTML". HTML - это язык макета; у вас почти нет функций для того, что вы пытаетесь сделать. Вам нужен какой-то язык сценариев.

Хотя есть плагины браузера для встраивания Python непосредственно в качестве языка сценариев, у большинства ваших пользователей такой плагин не будет установлен; вы даже не сможете найти актуальный для своего браузера. Фактически, то, что вы собираетесь иметь, это:

  • JavaScript (или, если вы хотите получить технический, "ECMAscript") почти во всех браузерах.
  • Flash/ActionScript во многих браузерах.
  • Silverlight в некоторых браузерах.
  • Java в нескольких браузерах (до недавнего времени это было гораздо чаще).

Silverlight на самом деле позволяет вам запускать (Iron) код Python, хотя по-прежнему будет некоторая работа по переводу кода из командной строки Python в среду Silverlight с использованием сценариев браузера. Аналогично, Java позволяет запускать Jython-код. Остальные два требуют переноса вашего кода на другой язык. И никто не сделает это за вас; вам нужно будет самостоятельно изучить JavaScript.


Кроме того, некоторые программы Python могут быть автоматически переведены на JavaScript/etc. такими инструментами, как pyjs. Я не рекомендую это, в частности; есть много из них, все с разными ограничениями, и это зависит от вас, чтобы искать и находить тот, который вам нравится.

Кроме того, имейте в виду, что веб-приложения по своей сути являются графическими, а не основаны на командной строке. Вам (или некоторому инструменту) придется преобразовать весь этот код input и print во что-то разумное.


Кроме того, существуют (частичные) интерпретаторы Python, написанные на JavaScript и т.д., Например Skulpt. Опять же, не рекомендация по конкретному инструменту; найдите варианты и выясните, какой из них вы хотите.

В любом случае, на этом веб-странице работает интерпретатор Python, на котором запущен скрипт Python. Некоторые из них могут даже имитировать ввод-вывод в командной строке.


Наконец, вы можете поместить свой код Python на сервер и поговорить с ним с помощью простых форм HTML и/или JavaScript на стороне клиента.

Вы можете сделать это точно так же, как с PHP, либо в качестве скрипта CGI, либо как встроенный код mod_python. Но для Python есть лучшие альтернативы, чем любой из них.

Вы также можете использовать фреймворки, которые могут помочь упростить код Python на стороне сервера, а также автоматически автоматически создать клиентский HTML/JS для вас, поэтому вам нужно только беспокоиться о коде Python.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню