Adapt an iterator to behave like a file-like object in Python

前端 未结 8 1135
Happy的楠姐
Happy的楠姐 2020-12-13 07:00

I have a generator producing a list of strings. Is there a utility/adapter in Python that could make it look like a file?

For example,

>>> d         


        
8条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-13 07:34

    this is exactly what stringIO is for ..

    >>> import StringIO
    >>> some_var = StringIO.StringIO("Hello World!")
    >>> some_var.read(4)
    'Hell'
    >>> some_var.read(4)
    'o Wo'
    >>> some_var.read(4)
    'rld!'
    >>>
    

    Or if you wanna do what it sounds like

    Class MyString(StringIO.StringIO):
         def __init__(self,*args):
             StringIO.StringIO.__init__(self,"".join(args))
    

    then you can simply

    xx = MyString(*list_of_strings)
    

提交回复
热议问题