Я видел много вопросов, которые задают похожие вещи, но я чувствовал, что никто из них не спросил об этом определенным образом. У меня есть сценарий 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-страницы. Кто-нибудь знает как это делать?
Невозможно сделать это с помощью "прямого HTML". HTML - это язык макета; у вас почти нет функций для того, что вы пытаетесь сделать. Вам нужен какой-то язык сценариев.
Хотя есть плагины браузера для встраивания Python непосредственно в качестве языка сценариев, у большинства ваших пользователей такой плагин не будет установлен; вы даже не сможете найти актуальный для своего браузера. Фактически, то, что вы собираетесь иметь, это:
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.
mod_python
. Но есть лучшие способы написания серверного кода на Python, чем CGI. Это то, что вы хотите?