storage 模块

此文件是Web2py Web框架的一部分
版权所有:Massimo di Pierro<mdipierro@cs.depaul.edu>

提供:

  • list;like list,但返回none而不是indexoutofbounds

  • 存储;类似字典,也允许 obj.foo 对于 obj['foo']

class gluon.storage.List(iterable=(), /)[源代码]

基类:list

类似于常规的python列表,但可以调用。当调用(i)时,如果超出界限,则返回“无”而不是 IndexError .

class gluon.storage.Messages(T)[源代码]

基类:gluon.storage.Settings

class gluon.storage.Settings[源代码]

基类:gluon.storage.Storage

class gluon.storage.Storage[源代码]

基类:dict

存储对象就像字典,除了 obj.foo 除此之外还可以使用 obj['foo'] ,设置obj.foo=none将删除项目foo。

例子::

>>> o = Storage(a=1)
>>> print o.a
1

>>> o['a']
1

>>> o.a = 2
>>> print o['a']
2

>>> del o.a
>>> print o.a
None
getfirst(key, default=None)[源代码]

返回列表的第一个值或在给定 request.vars 样式键。

如果值是列表,则返回其第一个项;否则,将按原样返回值。

查询字符串的示例输出 ?x=abc&y=abc&y=def ::

>>> request = Storage()
>>> request.vars = Storage()
>>> request.vars.x = 'abc'
>>> request.vars.y = ['abc', 'def']
>>> request.vars.getfirst('x')
'abc'
>>> request.vars.getfirst('y')
'abc'
>>> request.vars.getfirst('z')
getlast(key, default=None)[源代码]

当给定一个 request.vars 样式键。

如果值是列表,则返回最后一项;否则,将按原样返回值。

查询字符串为的模拟输出 ?x=abc&y=abc&y=def ::

>>> request = Storage()
>>> request.vars = Storage()
>>> request.vars.x = 'abc'
>>> request.vars.y = ['abc', 'def']
>>> request.vars.getlast('x')
'abc'
>>> request.vars.getlast('y')
'def'
>>> request.vars.getlast('z')
getlist(key)[源代码]

以列表形式返回存储值。

如果该值是列表,则将按原样返回。如果对象为“无”,则返回空列表。否则, [value] 将被退回。

查询字符串的示例输出 ?x=abc&y=abc&y=def ::

>>> request = Storage()
>>> request.vars = Storage()
>>> request.vars.x = 'abc'
>>> request.vars.y = ['abc', 'def']
>>> request.vars.getlist('x')
['abc']
>>> request.vars.getlist('y')
['abc', 'def']
>>> request.vars.getlist('z')
[]
class gluon.storage.StorageList[源代码]

基类:gluon.storage.Storage

行为类似于存储,但缺少的元素默认为[],而不是无。

gluon.storage.load_storage(filename)[源代码]
gluon.storage.save_storage(storage, filename)[源代码]