在ASP文件中使用Python脚本

类别:编程语言 点击:0 评论:0 推荐:

今天试验了一下在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语法编程了。
5.例子:访问Access:
<%@ LANGUAGE = Python %>
<!--#include file="pyDB4Jet.asp"-->
<%
myax=Cdb4Jet()
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:
  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 Source File -- Created with SAPIEN Technologies PrimalScript 3.1
#
# NAME: pyDB4Jet
#
# AUTHOR: CSIP , CSIP
# DATE  : 2004-12-30
#
# COMMENT: Python的ACCESS访问模块
#
#=========================================================================

import win32com

class Cdb4Jet:
  def __init__(self):
    self.conn=win32com.client.Dispatch(r'ADODB.Connection')
    self.DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:\wwwroot\csip\#news.mdb;'
    self.conn.Open(self.DSN)
    self.rs=win32com.client.Dispatch(r'ADODB.Recordset')
 
  def query(self,sql):
    self.rs.Open(sql,self.conn,1,1)
    return self.rs
 
  def execute(self,sql):
    return self.conn.execute(sql)

%>
 这个类写的很糟,以后有空再完善吧 

本文地址:http://com.8s8s.com/it/it23923.htm