This module didn't work at all anymore -- blew up with AttributeError
on file.__methods__. Since the docs say "This module will become obsolete
in a future release", this is just a quick hack to stop it from blowing
up. If you care about this module, test it! It doesn't make much sense
on Windows.
diff --git a/Lib/posixfile.py b/Lib/posixfile.py
index 589510d..dcd65cd 100644
--- a/Lib/posixfile.py
+++ b/Lib/posixfile.py
@@ -75,12 +75,16 @@
return self.fileopen(__builtin__.open(name, mode, bufsize))
def fileopen(self, file):
+ import types
if `type(file)` != "<type 'file'>":
raise TypeError, 'posixfile.fileopen() arg must be file object'
self._file_ = file
# Copy basic file methods
- for method in file.__methods__:
- setattr(self, method, getattr(file, method))
+ for maybemethod in dir(file):
+ if not maybemethod.startswith('_'):
+ attr = getattr(file, maybemethod)
+ if isinstance(attr, types.BuiltinMethodType):
+ setattr(self, maybemethod, attr)
return self
#