嵌入在HTML中的Python脚本

时间:2013-12-02 23:29:31

标签: python html

我见过很多问类似问题的问题,但我觉得他们都没有用这种方式问过它。我有一个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页面运行。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

使用“直接HTML”无法做到这一点。 HTML只是一种布局语言;它几乎没有任何功能,你正在尝试做什么。你需要某种脚本语言。

虽然有用于直接嵌入Python作为脚本语言的浏览器插件,但大多数用户都没有安装这样的插件;您可能甚至无法找到适合您自己浏览器的最新版本。事实上,您将获得的是:

  • 几乎所有浏览器中的JavaScript(或者,如果你想获得技术,“ECMAscript”)。
  • 许多浏览器中的Flash / ActionScript。
  • 某些浏览器中的Silverlight。
  • Java在几个浏览器中(直到最近,它更常见)。

Silverlight实际上确实允许您运行(Iron)Python代码,尽管将代码从命令行Python环境转换为浏览器脚本的Silverlight环境仍然需要做些工作。同样,Java允许您运行Jython代码。另外两个需要将代码移植到另一种语言。没有人会为你做那件事;你需要自己学习JavaScript。


除了......一些Python程序实际上可以自动翻译到JavaScript /等。通过像pyjs这样的工具。我不是特别推荐那个;有很多,都有不同的限制,你可以自己搜索和找到你喜欢的。

另外,请记住,网络应用本质上是图形,而不是基于命令行的。您(或某些工具)必须将所有inputprint代码转换为合理的代码。


或者,有(部分)Python解释器用JavaScript等编写,如Skulpt。同样,不是对特定工具的建议;搜索选项并找出你想要的那个。

无论如何,这样,您的网页正在运行Python解释器,它正在运行您的Python脚本。其中一些甚至可以很好地模拟命令行I / O.


最后,您可以将Python代码放在​​服务器上,并在客户端使用纯HTML表单和/或JavaScript与之交谈。

您可以使用与PHP相同的方式执行此操作 - 作为CGI脚本或嵌入式mod_python代码。但是Python有更好的替代方案。

您还可以使用既可以帮助简化服务器端Python代码的框架,也可以自动为您自动生成客户端HTML / JS,因此您只需要担心Python代码。