小編給大家分享一下asp后段調用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編碼 # 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) %>
以上是asp后段調用python的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。