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

文章作者 100test 发表时间 2007:03:14 13:42:50
来源 100Test.Com百考试题网



编写脚本
现在,您已经以交互方式试用了解释器,下面您将准备编写一个 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

相关文章


带你走进Oracle数据安全的世界一观(1)
用Oracle和Python武装你的头脑(5)(1)
Oracle数据库较好的重新启动步骤
学习并贯穿Oracle的25条基本知识
用Oracle和Python武装你的头脑(4)
Oracle数据库数据安全面面观(一)(6)
Oracle数据库性能保护(中)
Oracle数据库数据安全面面观(一)(5)
ORACLE认证2002完全版
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛