qq_38139619 2019-07-27 18:04 采纳率: 0%
浏览 974

请问如何将Python异常信息转化为中文?

本人打算做一个网页代码编辑器,能够在网页上写代码并执行。


其中有个特殊要求是 要对执行python代码产生的异常转化为中文显示出来。


后端采用python开发。部分代码如下:

import sys
import os
from io import StringIO
import contextlib
import subprocess


@contextlib.contextmanager
def stdoutIO(stdout=None):
    old = sys.stdout
    if stdout is None:
        stdout = StringIO()
    sys.stdout = stdout
    yield stdout
    sys.stdout = old


def get_stdin():
    buf = ""
    for line in sys.stdin:
        buf = buf + line
    return buf


if __name__ == "__main__":
    st = get_stdin()
    # print(st)
    with stdoutIO() as s:
        try:
            tmpfold = os.getenv("TMPDIR", "/tmp")
            tmpfile = "%s/%s" % (tmpfold, "script.py")
            # print(tmpfile)
            f = open(tmpfile, 'w')
            print(st, file=f)
            f.close()
            p1 = subprocess.Popen(["python3", tmpfile], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            p2, p3 = p1.stdout.read().decode('utf-8'), p1.stderr.read().decode('utf-8')
            if len(p2) > 0:
                print(p2)
            else:
                print(p3)
        except BaseException as e:
            print(e)
    print(s.getvalue())



这段代码能够正常运行,但是执行客户端传来的python代码后还是python原本的异常信息,上面的p3就是执行后产生的异常信息。


我想把这些异常信息转化为中文,请问有什么好的方法吗?


  • 写回答

2条回答 默认 最新

  • Toblerone_Wind 2019-07-27 18:38
    关注

    图片说明图片说明

    去谷歌翻译那里翻译一下不久好了吗

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?