runner.py 文件源码

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

项目:blender 作者: gastrodia 项目源码 文件源码
def run_script(args):
    sys.argv = [args.script] + args.script_arguments
    path = args.script
    __main__.__file__ = path

    try:
        code = get_code(path)
    except Exception as e:
        traceback.print_exception(e.__class__, e, None, file=sys.stderr)
    else:
        try:
            exec(code, __main__.__dict__)
        except BaseException as e:
            if not sys.flags.inspect and isinstance(e, SystemExit):
                raise

            elif PY2: # Python 2 produces tracebacks in mixed encoding (!)
                etype, e, tb = sys.exc_info()
                for line in traceback.format_exception(etype, e, tb.tb_next):
                    line = line.decode("utf-8", "replace")
                    try:
                        sys.stderr.write(line)
                    except UnicodeEncodeError:
                        line = line.encode(sys.stderr.encoding, "backslashreplace")
                        sys.stderr.write(line)

                    sys.stderr.flush() # is this needed?

            else: # PY3
                traceback.print_exception(e.__class__, e, e.__traceback__.tb_next, file=sys.stderr)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号