鱼C论坛

 找回密码
 立即注册
查看: 3645|回复: 5

[技术交流] 如何在IDLE中加入中文帮助文件

[复制链接]
发表于 2020-2-25 17:47:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 txxcat 于 2020-2-29 21:09 编辑

    Python的帮助文档是英文的,对于英语不大好,例如本人来说,看着头疼,免不了要用翻译软件,费时费力还经常不得要领,不过好在现在有官方汉化的中文文档了,虽然现在还不全,但基本的内容都已经汉化了,深入的汉化工作还在不断进行中,加油吧!
    Python中文文档地址:Python官方中文文档
    文档可以打包下载,不过速度嘛,比没会员的百度网盘还要慢,所以这里提供百度网盘的下载:
    PDF版:
    链接:PDF版百度网盘下载
    提取码:ixf2
    HTML版:
    链接:HTML版百度网盘下载
    提取码:foq4

    准备工作结束了,现在就是怎么把IDLE中的帮助文档换成中文版的,一开始的想法是把HTML的文档编译成CHM文件,然后取而代之,结果用了几个CHM编译工具,编译出来的文件打开不停报错,排版混乱,根本不能用,如果是纯windows应用,到此就是死路一条,除非你找到程序员帮你,但是这个是python呀,无所不能、无限可能的Pyhton,IDLE都是用python写出来的,那就自己动手,丰衣足食吧。

    首先,弄清楚python的安装文件夹在哪儿,输入以下代码获得文件夹,如果你很熟悉就跳过这一步了吧。
import sys
sys.base_prefix
'C:\\Users\\Txxcat\\AppData\\Local\\Programs\\Python\\Python38'
    然后就是把HTML解压到文件夹下的Docs下,当然你可以把文档放到你喜欢的任何地方都可以,后面改写代码时指定好位置就行。

    接着就是修改IDLE的代码了,最简单的方法就是把打开CHM的代码改成打开HTML,这样做可以做到最小的修改量,不过我选择保留打开原始英文文档的菜单,增加一个打开中文文档的菜单,需要多修改几个地方,我想学python的朋友应该不会嫌这个麻烦吧。

    IDLE在主文件夹下的Lib\idlelib下,这里需要修改三个文件,建议先备份这几个文件,以防不小心改错了IDLE启动不了:

   mainmenu.py : 菜单文件,加入打开中文文档的菜单。

   搜索关键字:python-docs,找到后:
   ('Python _Docs', '<<python-docs>>'),
   ('Python _Docs_CN', '<<python-docs-cn>>'),    #增加这一行增加一个菜单

    config.py : 配置文件,加入打开中文菜单的快捷键,不喜欢用快捷键的可以忽略这一步。

    搜索关键字:python-docs,找到后:
            '<<python-docs>>': ['<F1>'],
            '<<python-docs-cn>>': ['<F2>'],  #增加这行把F2指定为打开中文文档的快捷键
    editor.py :IDLE的主文件,这里的修改量稍微多一点。

    还是搜索关键字:python-docs,找到的第一项是Linux系统下运行的代码,可以看出Linux下只要替换原始文档就可以了,根本无需修改IDLE:(。往下的”elif sys.platform[:3] == 'win'“就是windows的代码了,我们这样修改:
            elif sys.platform[:3] == 'win':
                chmfile = os.path.join(sys.base_prefix, 'Doc',
                                       'Python%s.chm' % _sphinx_version())
                if os.path.isfile(chmfile):
                    dochome = chmfile
                dochome2 = os.path.join(sys.base_prefix, 'Doc','index.html')    #增加这一行把中文文档的主文件赋值给dochome2
            elif sys.platform == 'darwin':
                # documentation may be stored inside a python framework
                dochome = os.path.join(sys.base_prefix,
                        'Resources/English.lproj/Documentation/index.html')
            dochome = os.path.normpath(dochome)
            dochome2 = os.path.normpath(dochome2) #增加这一行
            if os.path.isfile(dochome2):    #增加这个判断,如果没有中文文档,就打开官网中文版
                EditorWindow.help_url2 = dochome2
            else:
                EditorWindow.help_url2 = ("https://docs.python.org//zh-cn/3/")
    继续搜索关键字:python-docs,找到后:
        text.bind("<<python-docs>>", self.python_docs)
        text.bind("<<python-docs-cn>>", self.python_docs_cn)  #增加这行
    然后搜索关键字:python_docs,记住是下杠,找到python_docs的函数后增加一个python_docs_cn的函数:
    def python_docs_cn(self, event=None):
        if sys.platform[:3] == 'win':
            try:
                os.startfile(self.help_url2)
            except OSError as why:
                tkMessageBox.showerror(title='Document Start Failure',
                    message=str(why), parent=self.text)
        else:
            webbrowser.open(self.help_url2)
        return "break"
    然后保存,重新打开IDLE,可以看到Help菜单里增加了一项:

微信图片_20200225173613.png

    选择之后就会打开python的中文文档,如果以后版本更迭,网速还可以的话,可以直接删除Doc下的index.html文件,然后直接打开的就是官网最新的中文文档了。

微信图片_20200225173807.png

评分

参与人数 2荣誉 +7 鱼币 +7 贡献 +5 收起 理由
xinhua202002 + 5 + 5 + 3 鱼C有你更精彩^_^
小甲鱼 + 2 + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-27 16:42:18 | 显示全部楼层
建议写一行,空一行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-27 17:49:51 | 显示全部楼层
一个账号 发表于 2020-2-27 16:42
建议写一行,空一行。

谢谢建议,重新排版了,等审核了看效果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-19 13:42:07 From FishC Mobile | 显示全部楼层
本帖最后由 _2_ 于 2020-3-19 13:43 编辑

改成Windows的帮助文档或许更好一些,不用再打开浏览器了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-19 13:56:20 | 显示全部楼层
就是找不到合适的CHM编译器啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-4 21:10:43 | 显示全部楼层
爱了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 16:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表