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

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

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

能否执行 strip?根据上面显示的内容,应该可以执行。按照约定,一个简单的文档字符串存储在每个对象的 __doc__ 方法中。(类似 __doc__ 这样的以两个下划线开头和结尾的名称保留给系统定义的特殊方法和属性使用。)下面我们将打印 strip.__doc__,看看它是否是您所需的。

>>> print firstLine.strip.__doc__

S.strip([chars]) -> string or unicode

返回字符串 S 的一个副本,并删除了前导空格和后缀空格。

如果给出了 chars 且非 None,则删除 chars 中字符。

如果 chars 为 unicode,则在剥离前将把 S 转换为 unicode

>>> firstLine = firstLine.strip()

>>> firstLine

'DB_BLOCK_SIZE=8192'

接下来,您需要对 firstLine 中的参数与其值进行区分。尽管很想展示一下 Python 强大的正则表达式处理能力,但我们还是采用了一个更简单的方式:字符串方法 split()。

>>> firstLine.split('=')

['DB_BLOCK_SIZE', '8192']

变量和赋值

调用 split() 生成了一个由位于分隔符 = 之前和之后的字符串组成的列表。遗憾的是,由于您未将该结果指定给任何变量,因此结果只显示到屏幕,随后就不见了。这次,您将使用多个赋值来同时捕获两个结果。您可能想使用向上箭头键来省去一些键入操作。

>>> param, val = firstLine.split('=')

>>> param

'DB_BLOCK_SIZE'

>>> val

'8192'

实际上,您将需要分别存储多个参数的值。这种场合最适于使用一个称作字典的强大 Python 变量类型。字典是一个无序的键集,即值对;实际上,它与 Oracle 数据库中的普通(堆)表非常相似。键和值可以是数字、字符串或其他对象。您将创建一个空字典,并使用您到目前为止提取的信息填充它。

>>> initParams = {}

>>> initParams[param] = val

>>> initParams

{'DB_BLOCK_SIZE': '8192'}

现在,从打开的文件中提取另一行,并将该行也存储到字典中。这次,您将把 strip() 直接连接到 readline() 的结尾,就好象您在使用一个 UNIX 管道。

>>> nextLine = initFile.readline().strip()

>>> param, val = nextLine.split('=')

>>> initParams[param] = val

>>> initParams

{'DB_BLOCK_SIZE':'8192', 'COMPATIBLE': '9.2.0.0.0'}


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