[Python-Dev] Possible context managers in stdlib

Reinhold Birkenfeld reinhold-birkenfeld-nospam at wolke7.net
Fri Jul 8 22:24:30 CEST 2005


Hi,

I compiled a list of some possible new context managers that could be
added to the stdlib. Introducing a new feature should IMO also show
usage of it in the distribution itself. That wasn't done with
decorators (a decorators module is compiled at the moment, if I'm right),
but with context managers, there's certainly room to add some. Of course,
my list is excessive, it's only some ideas I got by flying over the stdlib
docs.

* builtins: with open/file
* sys: with sys.redirected_std[in|out|err]
       with sys.trace
       with sys.excepthook
* warnings: with warnings.filter
* pprint: with pprint.printer (used for print)
* codecs: with codecs.open
          with codecs.EncodedFile
* decimal: with decimal.Context
* os: with os.current_directory
      with os.modified_env
      with os.umask/uid/gid etc.
      with os.popen
      with os.tmpfile
* subprocess: with subprocess.Popen
* mutex: with mutexobj
* curses: with curses.wrapper
* tempfile: with tempfile.[Named]TemporaryFile
            etc.
* locale: with locale.differentlocale
* logging: with logging.ignored
           with logging.Logger
* signal: with signal.handler
* socket: with socket.socket
* threading: with threading.Lock
             with threading.Condition
             with threading.Event
* mmap: with mmap.mmap
* bz2/zipfile/tarfile: with ...open
* dl: with dl.open
* tty: with tty.raw
       with tty.cbreak
* cgitb: with cgitb.enabled
* urllib/urllib2: with urllib.urlopen
                  etc.
* httplib: with httplib.HTTPConnection
* ftplib: with ftplib.FTP
* poplib: with poplib.POP3
* imaplib: with imaplib.IMAP4
* nttplib: with nntplib.NNTP
* smtplib: with smtplib.SMTP
* telnetlib: with telnetlib.Telnet
* xmlrpclib: with xmlrpclib.ServerProxy

Reinhold

-- 
Mail address is perfectly valid!



More information about the Python-Dev mailing list