SF bug [#460467] file objects should be subclassable.
Preliminary support.  What's here works, but needs fine-tuning.
diff --git a/Lib/types.py b/Lib/types.py
index 6c23e24..9419405 100644
--- a/Lib/types.py
+++ b/Lib/types.py
@@ -57,12 +57,7 @@
 BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType
 
 ModuleType = type(sys)
-
-try:
-    FileType = type(sys.__stdin__)
-except AttributeError:
-    # Not available in restricted mode
-    pass
+FileType = file
 XRangeType = type(xrange(0))
 
 try: