#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2009 Doug Hellmann All rights reserved. # """ """ #end_pymotw_header import sys import shelve import os filename = '/tmp/pymotw_import_example.shelve' if os.path.exists(filename): os.unlink(filename) db = shelve.open(filename) try: db['data:README'] = """ ============== package README ============== This is the README for ``package``. """ db['package.__init__'] = """ print 'package imported' message = 'This message is in package.__init__' """ db['package.module1'] = """ print 'package.module1 imported' message = 'This message is in package.module1' """ db['package.subpackage.__init__'] = """ print 'package.subpackage imported' message = 'This message is in package.subpackage.__init__' """ db['package.subpackage.module2'] = """ print 'package.subpackage.module2 imported' message = 'This message is in package.subpackage.module2' """ db['package.with_error'] = """ print 'package.with_error being imported' raise ValueError('raising exception to break import') """ print 'Created %s with:' % filename for key in sorted(db.keys()): print '\t', key finally: db.close()