考试网 >> IT认证 >> Oracle >> Oracle指导 >> 用Oracle和Python武装你的头脑(4)

用Oracle和Python武装你的头脑(4)

发布时间:2006-06-28 10:30     点击:

编写脚本

现在,您已经以交互方式试用了解释器,下面您将准备编写一个 Python 脚本来处理整个文件。使用 Ctrl-D(在 Unix/Linux 中)或 Ctrl-Z(在 Windows 中)退出 Python 解释器,然后创建一个文本文件 - 称之为 readInitOra.py。

initFile = open('init_orcl.ora', 'r')

initParams = {}

rawTextLine = initFile.readline()

while rawTextLine:

param, val = rawTextLine.strip().split('=')

initParams[param] = val

rawTextLine = initFile.readline()

print initParams

在阅读此代码时,您很可能想到“命令结尾的分号哪去了?BEGIN 和 END 语句以及用于标记块的大括号哪去了?”实际上,Python 并不使用这些符号。按照惯例,几乎所有编程人员都使用换行符分隔命令,并使用缩进指示代码块,以便用户可以阅读代码。同时,Python 以外的大多数语言都要求他们使用一套不同的符号与编译器或解释器进行通信。使用两套符号将使代码杂乱不堪,并将产生一个很大的风险 - 显示给人眼的符号可能与显示给计算机的符号不同步,从而产生另人难以理解的错误。而 Python 可以像用户那样读取代码,从而消除了混乱并避免出现风险。

下面我们来看看代码操作。在操作系统提示符(而非 Python 解释器提示符)下,键入

c:\> python readInitOra.py

{'UNDO_MANAGEMENT':'AUTO', 'COMPATIBLE': '9.2.0.0.0',

'DB_BLOCK_SIZE':'8192', 'FAST_START_MTTR_TARGET' : '300',

'SGA_MAX_SIZE':157286400, 'SHARED_POOL_SIZE': '50331648'}

如果您习惯将 readInitOra.py 中的所有行缩进几个空格,则将使 Python 混淆并产生一个语法错误。缩进指示代码块,因此在不指示代码块的情况下请不要进行缩进。返回并确保不在块中的每一行都从第 1 列开始。

您实际上需要在多个位置使用此代码,因此我们将其从简单的脚本改进为接受参数的函数定义。

def read(fileName):

initFile = open(fileName, 'r')

initParams = {}

rawTextLine = initFile.readline()

while rawTextLine:

param, val = rawTextLine.strip().split('=')

initParams[param] = val

rawTextLine = initFile.readline()

return initParams


版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有