Answer a question

Hi i am looking to implement my own custom file like object for an internal binary format we use at work(i don't really want to go into too much detail because i don't know if i can). I am trying to go for a more pythonic way of doing things since currently we have two functions read/write(each ~4k lines of code) which do everything. However we need more control/finesse hence the fact of me rewriting this stuff.

I looked at the python documentation and they say what methods i need to implement, but don't mention stuff like iter() / etc.

Basically what i would love to do is stuff like this:

output_file_objs = [
    open("blah.txt", "w")
    open("blah142.txt", "wb")
    my_lib.open("internal_file.something", "wb", ignore_something=True)
]

data_to_write = <data>

for f in output_file_objs:
    f.write(data_to_write)

So i can mix it in with the others, and basically have a level of transparency. I will add custom methods to it, but thats not a problem.

Is there any sort of good reference regarding writing your own custom file like objects? Like any form of restrictions or special methods (iter). I should implement?

Or is there a good example of one from within the python standard library that i can look at?

Answers

What makes up a "file-like" actually depends on what you intend to use it for; not all methods are required to be implemented (or to have a sane implementation).

Having said that, the file and iterator docs are what you want.

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐