使用Oracle数据库实现Python数据持久
2010-09-22 11:08:54 来源:WEB开发网尽管 Python 的真正功能在于它能够隐藏令人厌烦的实现详细信息,从而提供一个简单、优美而有效的编码解决方案。字典、列表和列表内涵是常用的 Python 内置类型,在处理结构化数据时可以显著简化您的代码。返回在前面部分中讨论的 oraclepersist.py 脚本,对其进行升级,以便最大程度地利用这些杰出的 Python 语言工具。为了避免混淆,您可以将修订保存在一个单独的名为 oraclepersist_list.py 的文件中:
import cx_Oracle
import urllib2
import xml.dom.minidom
url = 'http://feeds.delicious.com/v2/rss/OracleTechnologyNetwork/otntecharticle'
inxs = ['title','guid','pubDate','link']
num = 3
def getRSS(addr):
xmldoc = xml.dom.minidom.parseString(urllib2.urlopen(addr).read())
items = xmldoc.getElementsByTagName('item')
return items
articles = [dict(zip(inxs,[item.getElementsByTagName(inx)[0].firstChild.data for inx in inxs])) for index, item in enumerate(getRSS(url)) if index < num]
def processClick(guid, clks = 1):
db = cx_Oracle.connect('usr', 'pswd', '127.0.0.1/XE')
c = db.cursor()
c.execute('''call count_clicks(:guid, :clks)''', {'guid':guid, 'clks':clks})
db.close()
从以上代码可以看出,利用列表内涵(一种非常有效的结构化应用程序数据的机制)可以显著减少代码总量。此外,客户端也不必显式调用模块函数。因此,您现在可以重新编写按照前面部分所述嵌入在 clicktrack.psp 中的 Python 代码块,如下所示:
- ››使用linux中的quota教程
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››使用jxl生成带动态折线图的excel
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
更多精彩
赞助商链接