正在学习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的语法是:

#Python代码

当IE执行这段代码时,需要调用Python的解释器来执行之间的代码,因此要让IE识别Python代码,就需要告诉IE在何处查找Python解释器。

这个功能在Python for Windows Extension中已经实现,该扩展除客户端脚本支持外,还包括服务器端脚本、COM、Windows GUI支持。

首先从Python的老家Python安装包,按后安装到本地硬盘,假设Python安装在c:\python24,并将该路径加到环境变量PATH中。详细的安装参见Python手册。

然后到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次对话框。

Embedded code demo: Python

def show():

for i in range(3):

alert("Python in IE ===> %d" % i)

因为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能提供更好更强的功能,并且编码更简洁。

python代码可以内嵌在asp文件中_在IE中使用Python作为开发脚本(转)相关推荐

  1. 10行Python代码自动清理电脑内重复文件

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的 ...

  2. 几行Python代码打造自己的磁盘垃圾文件清理器

    本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型. from os.path import isdir, join, splitext from os ...

  3. pandas 导入excel_三行Python代码,合并多个Excel文件

    嘴上说着单身(Excel)挺好,可是看到合适的人(Python),还是会沉默... 下面是三个Excel文件内容: 下面是生成的汇总表: 第一步:安装相关包并导入 只用到了Python自带的OS模块, ...

  4. python把pdf转word_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    作者:菜鸟分析 Python爱好者社区--专栏作者 个人介绍:一个痴迷于Python语言的业余程序猿,未来的理想是能够与一群痴迷于Python语言的程序猿改变世界 知乎专栏: https://zhua ...

  5. Python代码读取Excel(.xlsx)文件并保存JSON文件

    策划需求,要求统计所有xlsx文件中的数据.并将其统一处理归纳到一个文件中,方便阅读. 这时候Python相对C#来说,优势体现出来了.当然C#还是很强的,只是针对某些功能,选择合适的工具. 思路:读 ...

  6. python统计特定类型文件数量_分享一些常见的Python编程面试题及答案

    需要领取更多Python学习资料的朋友,可以免费自取哈 [腾讯文档]Python相关学习资料(视频.学习经验) https://docs.qq.com/doc/DS1JxU2ZWTmVWa05L 1. ...

  7. python文件编译_我算是白学Python了,现在才知道原来Python是可以编译的

    斌哥说 大家好,我是斌哥. 一说起Python,可能开发者第一时间想到的就是:"Python是一门能快速开发的解释型语言". 没错,Python确实是一门解释型的语言,而对比Jav ...

  8. python代码写完怎么运行-教你如何编写、保存与运行 Python 程序

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...

  9. python代码删掉了几行怎么撤回_仅78行代码实现微信撤回消息查看 | Python itchat

    前言 今天一大早奔来图书馆,想想了微信很简洁也很强大的一个工具,最近微信的新闻还是比较多的, 比如:小程序.时间轴等,这不是重点,重点是看到了一个基于python的微信开源库:itchat,玩了一天. ...

最新文章

  1. 绝对路径与相对路径的区别【2】--release和debug这两种情况下对本地文件操作不一致的问题...
  2. C++STL之vector的说明及使用
  3. linux禁止普通用户切换,Linux系统如何禁止普通用户切换root?
  4. 【以太坊智能合约】Embark Framework 开发基础篇
  5. 【洛谷1090】合并果子
  6. Javafx 报错Exception in Application start method java.lang.reflect.InvocationTargetException
  7. HDU2025 查找最大元素【入门】
  8. mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
  9. linux tuxedo查看服务进程数,tuxedo常用命令
  10. Epub2基础知识介绍
  11. 如何设置或关闭访客进来的铃声
  12. 小程序云服务器机型选择,小程序云服务器机型选择
  13. 微信中已停止访问该网页、据用户投诉及腾讯手机管家云网址检测、该网页包含不安全内容。为维护绿色上网环境,已停止访问的解决方案
  14. 这才是真正的Git——Git内部原理了解
  15. Ray----Tune(2):Tune的用户指南
  16. 2.20 货币兑换-设置流程
  17. 支付宝支付接入(接入与验证)
  18. matplotlib-locator_params函数各个参数的意义?如何调整python可视化图表中坐标轴刻度的显示?
  19. 盘点国外那些「值得模仿」的互联网产品
  20. 嘉立创打板工艺/PCB 线宽与电流关系

热门文章

  1. 使用Java Stream摘要统计
  2. 迟来总比没有好:SSE或服务器发送的事件现在已在JAX-RS中
  3. junit 经典示例_JUnit4参数化和理论示例
  4. Spring启动和缓存抽象
  5. cyclicbarrier_Java并发– CyclicBarrier示例
  6. 服务引用代理类_在代理类中引用动态代理
  7. Java旧版不断发展
  8. 提高Java的锁性能
  9. EC2上的ElasticSearch不到60秒
  10. Spring范围代理