But none of these seem to allow asynchronous calls, which make a huge difference when dealing with a large structure. Nothing I've found really does what I need and I'm trying to keep my dependency list short so I'll end up writing something myself anyway, but my real question was whether this is something that could usefully be included in the stdlib.<div>

<br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); ">Having an object-oriented / polymorphic file API means that one can<br>provide file objects that aren't backed by the filesystem, but look<br>

the same. This is cool in that you can do things like treat zip files<br>as directory, or mock out the filesystem for a unit test, without<br>worrying about monkeypatching builtins or using a nonstandard wrapper<br>API etc.<br>

</span></blockquote><div><br></div><div>Great use case!  And using factories to create create the objects would make this especially powerful.</div>