发布网友 发布时间:2022-04-22 08:14
共3个回答
懂视网 时间:2022-05-11 07:31
一、ASP的平反三、开始把两小伙伴融合在一起
1、asp 的安装 : 随着IIS 的安装asp就成为了默认安装好的web框架
2、安装 activepython: ActivePython是由 ActiveState 公司推出的专用的 Python 编程和调试工具。
ActivePython 包含了一个完整的 Python 内核,直接调用 Python 官方的开源内核,此外还有 Python 编程需要用到的 IDE,并附加了一些 Python 的 Windows扩展,同时还提供了全部的访问 Windows APIs 的服务。ActivePython 虽然不像纯 Python 那样是开源的,但是也可以免费下载使用。(注意版本只能下载 2.5的,一开始echosong也不行下载了2.7 的版本 结果无情的500 个中缘由也不清楚,不够2.5的版本也够用了)
3、命令行运行 C:Python25Libsite-packageswin32comextaxscriptclientpyscript.py;
4、完成上面两步就可以着手写python的Asp了
四 、简单的Demo
连接数据库文件 conn.asp (用pymssql连接mssql数据库)
代码如下:
<%import pymssql
class MSSQL:
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
if not self.db:
Response.write(NameError,"No connec Info")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
Response.write(NameError,"connect Err")
else:
return cur
def getCur(self):
return self.__GetConnect()
def ExecQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
self.conn.close()
return resList
def ExecNonQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
gmssql = MSSQL(host="****",user="****",pwd="***",db="***")
gcur = MSSQL.getCur()
%>
这里 可以自由的import python的相关模块!!!
data.asp 文件调用conn.asp的数据连接执行sql语句 循环显示字段的值到页面
代码如下:
<%@LANGUAGE="python" CODEPAGE="65001"%>
管理员编号 | 管理账号 | |
"+str(admin_Id)+" | ")"+str(admin_UserId)+" |
五、用python 写ASp的优势
1、高度代码复用: 可以写自己项目的模块,把平时常用的代码 写成 python的模块,然后服务器上所有的都可以借助 import 来调取
2、试用python优秀特征: python 强大的Python库 很多现成的功能直接用,而不要想传统asp(vbs脚本的)借助 很多 编译行语言的的dll来实现
3、完全的面向对象: vbs是面向过程的语言,对象的特征很弱,很多面向对象的思想不能用。
六、稳定性 和性能的考虑
做了压力测试 同一时间处理事务的能力,各方面参数强于vbs的,特别是在连接数据库用了些python 优秀开源的池处理模块,使得很多数据库的瓶颈减轻。(写博文的时候相关数据截图没有在此电脑上面)
热心网友 时间:2022-05-11 04:39
<%@ LANGUAGE = Python %>
把vbscript和jscriptT了,用Python脚本。真另类吧.
在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
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编码
#=================================================================
# NAME: pyDB4Jet
# AUTHOR: benyur
# DATE : 2004-12-30
# 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)
%>
把分给我吧,哈哈,
热心网友 时间:2022-05-11 05:57
你想做什么,开发asp吗。
如果你用asp.net,试一下ironpython