在IE中使用Python作为开发脚本(转)
2010-04-08 16:16
441 查看
正在学习python,除了语法优美,功能强大外,最看重的是它的可扩展性,可以嵌入到asp和其他一些开发语言中。对IIS配置了.py的扩展名解析,可以对.py的页面进行访问,但asp页面的python脚本仍然无法解析,网上查资料,说是要运行C:\Python25 \Lib\site-packages\win32comext\axscript\client\pyscript.py,才能把python解释器与 IIS关联,但我找了python的安装目录,site-packages目录下是空的,根本找不到pyscript.py文件,google了半天,才 找到以下这篇文章。
目前IE支持的客户端脚本语言常见的有VBScript和JavaScript,这两种脚本语言在操作页面元素方面基本能满足一般应用的需要,可通过和COM集成来获得扩展功能。
本文提供一种将Python作为IE客户端脚本语言的方法,利用Python的简洁和可扩展性使web应用在客户端可实现更好的交互。也可用Python内置的网络功能,更容易地实现AJAX的功能。
根据在IE中使用javascript的语法,可以猜到在IE中使用Python的语法是:
<script language=”python”>
#Python代码
</script>
当IE执行这段代码时,需要调用Python的解释器来执行<script language=”python”></script>之间的代码,因此要让IE识别Python代码,就需要告诉IE在何处查找Python解释器。
这个功能在Python for Windows Extension中已经实现,该扩展除客户端脚本支持外,还包括服务器端脚本、COM、Windows GUI支持。
首先从Python的老家www.python.org下载一个Python安装包,按后安装到本地硬盘,假设Python安装在c:\python24,并将该路径加到环境变量PATH中。详细的安装参见Python手册。
然后到http://starship.python.net/crew/mhammond/ 下载一个Python for Windows Extension,它是一个安装包,安装时要求指定Python的安装目录,安装包会将一些文件安装到c:\Python24\lib\site-packages目录下。
切换到命令行模式,到目录C:\Python24\Lib\site-packages\win32comext\axscript\client目录下,运行 python pyscript.py和python pyscript_rexec.py,将Python windows Script注册到windows中,使IE能识别HTML代码中的python脚本。
下面是一个在IE中运行python的代码,要运行它,只要保存在一个htm文件中,然后用IE打开,点击OK按钮,将显示3次对话框。
<HTML>
<BODY>
<H1>Embedded code demo: Python</H1>
<SCRIPT Language="Python">
def show():
for i in range(3):
alert("Python in IE ===> %d" % i)
</SCRIPT>
<form name="fm">
<input name="b1" type="button" value="OK" onclick="show()">
</form>
</BODY></HTML>
因为Python 的语法要求,def show()必需从第一列开始,前面不能有空格或TAB来缩进代码。
在IE中运行Python脚本虽可获得Python的强大功能,但要求IE所在机器必须安装Python解释器和Python for Windows Extension。这限制了在一般Web应用上使用的可能性。但可以在以下的模式中使用。
客户端用IE作为运行容器,Python解释器和windows extension作为系统一部分安装在客户端,甚至有本地数据库,对数据库的操作在Python脚本中完成,需要和服务器端交互时,再用Python脚本来完成和服务器端的数据交换。这种模式集成了C/S和B/S的优点,客户端不需要安装专门的客户端软件,另外不需要时时连接到服务器,不需要管理session等状态信息,可脱机完成业务后再连接服务器发送或获取数据。
相对于AJAX中用XMLHTTP来实现网络功能,Python能提供更好更强的功能,并且编码更简洁。
目前IE支持的客户端脚本语言常见的有VBScript和JavaScript,这两种脚本语言在操作页面元素方面基本能满足一般应用的需要,可通过和COM集成来获得扩展功能。
本文提供一种将Python作为IE客户端脚本语言的方法,利用Python的简洁和可扩展性使web应用在客户端可实现更好的交互。也可用Python内置的网络功能,更容易地实现AJAX的功能。
根据在IE中使用javascript的语法,可以猜到在IE中使用Python的语法是:
<script language=”python”>
#Python代码
</script>
当IE执行这段代码时,需要调用Python的解释器来执行<script language=”python”></script>之间的代码,因此要让IE识别Python代码,就需要告诉IE在何处查找Python解释器。
这个功能在Python for Windows Extension中已经实现,该扩展除客户端脚本支持外,还包括服务器端脚本、COM、Windows GUI支持。
首先从Python的老家www.python.org下载一个Python安装包,按后安装到本地硬盘,假设Python安装在c:\python24,并将该路径加到环境变量PATH中。详细的安装参见Python手册。
然后到http://starship.python.net/crew/mhammond/ 下载一个Python for Windows Extension,它是一个安装包,安装时要求指定Python的安装目录,安装包会将一些文件安装到c:\Python24\lib\site-packages目录下。
切换到命令行模式,到目录C:\Python24\Lib\site-packages\win32comext\axscript\client目录下,运行 python pyscript.py和python pyscript_rexec.py,将Python windows Script注册到windows中,使IE能识别HTML代码中的python脚本。
下面是一个在IE中运行python的代码,要运行它,只要保存在一个htm文件中,然后用IE打开,点击OK按钮,将显示3次对话框。
<HTML>
<BODY>
<H1>Embedded code demo: Python</H1>
<SCRIPT Language="Python">
def show():
for i in range(3):
alert("Python in IE ===> %d" % i)
</SCRIPT>
<form name="fm">
<input name="b1" type="button" value="OK" onclick="show()">
</form>
</BODY></HTML>
因为Python 的语法要求,def show()必需从第一列开始,前面不能有空格或TAB来缩进代码。
在IE中运行Python脚本虽可获得Python的强大功能,但要求IE所在机器必须安装Python解释器和Python for Windows Extension。这限制了在一般Web应用上使用的可能性。但可以在以下的模式中使用。
客户端用IE作为运行容器,Python解释器和windows extension作为系统一部分安装在客户端,甚至有本地数据库,对数据库的操作在Python脚本中完成,需要和服务器端交互时,再用Python脚本来完成和服务器端的数据交换。这种模式集成了C/S和B/S的优点,客户端不需要安装专门的客户端软件,另外不需要时时连接到服务器,不需要管理session等状态信息,可脱机完成业务后再连接服务器发送或获取数据。
相对于AJAX中用XMLHTTP来实现网络功能,Python能提供更好更强的功能,并且编码更简洁。
相关文章推荐
- 在IE中使用Python作为开发脚本
- 在IE中使用Python作为开发脚本
- 使用eclipse作为python开发工具安装旧版pydev
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
- 使用Python来开发Markdown脚本扩展的实例分享
- 使用python为Java项目开发一个预编译脚本
- 在ubuntu下使用VIM作为python开发环境
- Python脚本在安卓开发中的使用
- 【Python开发】检测app使用了多少个xib和js的脚本(python)
- 使用Python来开发Markdown脚本扩展的实例分享
- mitmproxy使用python脚本定制开发(三)
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
- 使用C#作为Cocos2dx引擎脚本语言进行游戏开发——C#脚本简介(一)
- python使用Visual Studio 2015作为IDE开发django项目的环境部署
- 使用C#作为Cocos2dx引擎脚本语言进行游戏开发——脚本运行时基础(二)
- 使用eclipse作为python开发工具安装旧版pydev
- 使用SublimeText 作为Python 的开发环境
- 由于Python本身自带的界面库功能并不强大,我们使用Python+wxPython作为界面开发平台,在公司新的项目中进行界面开发。开发过程使用Eclipse+PyDev 作为集成开发环境。产品发布时使用Py2exe进行打包。如今,在我的团队中,Pytho
- 使用Eclipse来开发python脚本
- Python使用CGIHTTPServer调用shell作为cgi脚本