shell.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:tumanov_castleoaks 作者: Roamdev 项目源码 文件源码
def handle(self, *args, **options):
        use_plain = options.get('plain', False)
        show_imports = options.get('show_imports', True)

        imported_objects = self.import_objects(show_imports)

        try:
            if use_plain:
                # Don't bother loading IPython, because the user wants plain Python.
                raise ImportError

            from IPython import start_ipython
        except ImportError:
            # Plain
            import code
            # Set up a dictionary to serve as the environment for the shell, so
            # that tab completion works on objects that are imported at runtime.
            # See ticket 5082.
            try:  # Try activating rlcompleter, because it's handy.
                import readline
            except ImportError:
                pass
            else:
                # We don't have to wrap the following import in a 'try', because
                # we already know 'readline' was imported successfully.
                import rlcompleter
                readline.set_completer(rlcompleter.Completer(imported_objects).complete)
                readline.parse_and_bind("tab:complete")

            code.interact(banner='', local=imported_objects)
        else:
            # IPython
            start_ipython(argv=['--no-banner', '--no-confirm-exit'], user_ns=imported_objects)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号