博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扩展Python控制台实现中文反馈信息
阅读量:1888 次
发布时间:2019-04-26

本文共 1317 字,大约阅读时间需要 4 分钟。

"中文编程"知乎专栏

2019-02-10-python控制台扩展

参考了周蟒的实现, 运行效果如下:

$ python3 解释器.pyPython 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31)[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.(ZhPyConsole)>>> 学Traceback (most recent call last):  File "
", line 1, in
命名错误: 命名'学'未定义>>> for i in range(1,4):... 生...Traceback (most recent call last): File "
", line 2, in
命名错误: 命名'生'未定义

完整源码在:

相关源码如下, 即改写InteractiveInterpreter.showtraceback方法. 仅为演示之用, 直接用了字符串替换.:

def showtraceback(self):        sys.last_type, sys.last_value, last_tb = ei = sys.exc_info()        sys.last_traceback = last_tb        try:            行 = traceback.format_exception(ei[0], ei[1], last_tb.tb_next)            汉化行 = []            if sys.excepthook is sys.__excepthook__:                for 某行 in 行:                    for 英文 in self.字典:                        某行 = 某行.replace(英文, self.字典[英文])                    汉化行.append(某行)                self.write(''.join(汉化行))            else:                # If someone has set sys.excepthook, we let that take precedence                # over self.write                sys.excepthook(ei[0], ei[1], last_tb)        finally:            last_tb = ei = None

定制sys.excepthook貌似更为合适, 还需研究如何实现.

参考资料

转载地址:http://sqgbf.baihongyu.com/

你可能感兴趣的文章
2019-10-15 博客热门文章
查看>>
2019-10-16 博客热门文章
查看>>
2019-10-17 博客热门文章
查看>>
2019-10-23 博客热门文章
查看>>
2019-10-22 博客热门文章
查看>>
博客43周热门文章
查看>>
2019-10-27 博客热门文章
查看>>
学习笔记(1):视觉应用工程师-环境安装教学视频-Mac系统其他操作
查看>>
Java 学习到什么程度可以找第一份工作?
查看>>
Python 学习资源
查看>>
2021-06-08日互联网热点
查看>>
使用Python编写Hive UDF
查看>>
人工智能面试实战题
查看>>
使用hxcomp.exe反编译MSDN文档
查看>>
使用Zoundry在CSDN发布Blog
查看>>
CSDN下载频道上传资源时增加了进度条
查看>>
PHP中simplexml对象不能被序列化
查看>>
程序员拥有自己的代码空间啦!(转)
查看>>
CSDN iCode ToDoList
查看>>
今天下载频道的Apache故障的解决
查看>>