showing.py 文件源码

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

项目:ghutil 作者: jwodder 项目源码 文件源码
def print_json(obj, verbose=False, err=False):
    def default(obj):
        if hasattr(obj, 'for_json'):
            if 'verbose' in signature(obj.for_json).parameters:
                return obj.for_json(verbose=verbose)
            else:
                return obj.for_json()
        elif isinstance(obj, Iterator):
            return list(obj)
        else:
            try:
                data = vars(obj).copy()
            except TypeError:
                data = {"__repr__": repr(obj)}
            data["__class__"] = type(obj).__name__
            return data
    def dumps(x):
        return json.dumps(x, sort_keys=True, indent=4, ensure_ascii=False,
                          default=default)
    if isinstance(obj, Iterator):
        first = True
        click.echo('[', nl=False, err=err)
        for o in obj:
            if first:
                click.echo(err=err)
                first = False
            else:
                click.echo(',', err=err)
            click.echo(indent(dumps(o), ' '*4), nl=False, err=err)
        if not first:
            click.echo(err=err)
        click.echo(']', err=err)
    else:
        click.echo(dumps(obj), err=err)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号