[Fred, proposing filesystem.py] I think we should discuss the desired interface here a bit more before talking about specific implementations. This class wants to look like the os module, except that instead of an open method (which returns an integer filedescriptor) it has a fopen method, similar to the built-in open function (which returns a file-like object). The implementation you post would confuse people because it has some specific hooks to deal with subsetting an existing filesystem (sort-of like chroot, but enforced by path algebra). This would be usable in an rexec environment, but not when dealing with a zipfile or a remote filesystem. If we define an API that's a subset of the os module (including os.path), maybe we can make the os module conform to the same API; I think all that's needed is to make a list of methods that are part of the interface, and add os.fopen as an alias for __builtin__.open. --Guido van Rossum (home page: http://www.python.org/~guido/)