小编bac*_*ler的帖子

使用python生成器和openstack swift客户端的问题

在使用Openstack Swift客户端库时,我遇到了Python生成器的问题.

手头的问题是我试图从特定的URL(大约7MB)中检索大量数据,将字符串分成较小的位,然后发回一个生成器类,每次迭代都保存一个字符串的块.在测试套件中,这只是一个字符串,它被发送到swift客户端的monkeypatched类进行处理.

monkeypatched类中的代码如下所示:

def monkeypatch_class(name, bases, namespace):
    '''Guido's monkeypatch metaclass.'''
    assert len(bases) == 1, "Exactly one base class required"
    base = bases[0]
    for name, value in namespace.iteritems():
        if name != "__metaclass__":
            setattr(base, name, value)
    return base
Run Code Online (Sandbox Code Playgroud)

在测试套件中:

from swiftclient import client
import StringIO
import utils

class Connection(client.Connection):
    __metaclass__ = monkeypatch_class

    def get_object(self, path, obj, resp_chunk_size=None, ...):
        contents = None
        headers = {}

        # retrieve content from path and store it in 'contents'
        ...

        if resp_chunk_size is not None:
            # …
Run Code Online (Sandbox Code Playgroud)

python openstack-swift openstack

19
推荐指数
1
解决办法
1010
查看次数

标签 统计

openstack ×1

openstack-swift ×1

python ×1