在ASP中使用Python脚本:
1.首先安装好Active Python,它自带了win32扩展,省得自己装了;
2.按照Active的附带文档说明,在%Python_home%/lib/site_packages/win32comext/axscript/client/目录中找到pyscript.py,双击运行之,此步骤在IIS中安装Python解释引擎;
3.新建一个asp文件,文件头用<%@ LANGUAGE = Python %>,告诉IIS此文件采用Python脚本;
4.剩下的就是按python语法编程了。
相关推荐:《Python基础教程》
5.例子:访问Access:
<%@ LANGUAGE = Python %> <!--#include file="pyDB4Jet.asp"--> <% #创建数据访问类的实例 myax=Cdb4Jet() 调用数据访问类的查询方法,返回结果赋给rs rs=myax.query('select * from [user]') #以下这段注掉的代码用来遍历打印取回来数据的字段 #flds_dict={} #for x in range(rs.Fields.Count): # flds_dict[x]=rs.Fields.Item(x).Name # Response.write(flds_dict[x] + "<br>") #遍历取回来的数据 while not myax.rs.EOF: #把每行的第三个字段值输出(字段序号从0开始) Response.write(rs.Fields[2].Value+"<BR>") #移动到下一行 myax.rs.MoveNext() #重新移回第一行 myax.rs.MoveFirst() #再次遍历 while not myax.rs.EOF: #输出每行的第二个字段值 Response.write(rs.Fields[1].Value+"<br>") #移动到下一行 myax.rs.MoveNext() %>
比较遗憾的是在Python中访问Recordset时我不知道怎么用字段名,只会用字段序号。
另外一个要注意的是访问access的表时必须用“[]”括起来。
6.上例中用到的access访问类:
<% # -*-coding:UTF-8-*- #这一句告诉python用UTF-8编码 # COMMENT: Python的ACCESS访问模块 #导入win32com模块 import win32com #数据访问类定义 class Cdb4Jet: #构造函数,python的构造函数不同于C++/C#或Java的构造函数,在执行到__init__方法时,实例已经存在 def __init__(self): #win32com.client.Dispatch用于创建COM对象 #创建ADO的Connection数据连接对象 self.conn=win32com.client.Dispatch(r'ADODB.Connection') #DSN保存数据库的访问连接串 self.DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:\wwwroot\csip\#news.mdb;' #打开数据库 self.conn.Open(self.DSN) #创建ADO的Recordset数据集对象 self.rs=win32com.client.Dispatch(r'ADODB.Recordset') #定义查询方法 def query(self,sql): #执行Recordset对象的Open方法,从数据库取回数据集 self.rs.Open(sql,self.conn,1,1) #返回数据集给调用者 return self.rs #定义非查询方法 def execute(self,sql): #直接调用Connection对象的execute方法执行sql语句,并把执行结果返回给调用者 return self.conn.execute(sql) %>