Python 如何在';关键词';单元
在这被标记为重复之前,让我澄清一下。我不想定义一个新的关键字。我想把Python 如何在';关键词';单元,python,python-3.x,Python,Python 3.x,在这被标记为重复之前,让我澄清一下。我不想定义一个新的关键字。我想把async和await放在关键字列表中,这样它们就会在IDLE中被着色为关键字 从3.5版开始,使用async和wait不需要导入asyncio(虽然很少有不导入asyncio)的情况,所以我希望它们被着色为关键字。我无法忍受看到async-def其中def为橙色,而async为默认黑色 我查看了idlelib中的colorizer.py,虽然可以通过模块本身对字符串前缀等进行着色(我已经对格式字符串进行了此操作),但除了编辑关
async
和await
放在关键字列表中,这样它们就会在IDLE中被着色为关键字
从3.5版开始,使用async
和wait
不需要导入asyncio
(虽然很少有不导入asyncio
)的情况,所以我希望它们被着色为关键字。我无法忍受看到async-def
其中def
为橙色,而async
为默认黑色
我查看了idlelib
中的colorizer.py
,虽然可以通过模块本身对字符串前缀等进行着色(我已经对格式字符串进行了此操作),但除了编辑关键字
外,不能插入新关键字。当我打开该模块时,我看到:
"""...This file is automatically generated; please don't muck it up!
To update the symbols in this file, 'cd' to the top directory of
the python source tree after building the interpreter and run:
./python Lib/keyword.py
"""
我真的不知道“构建口译员”是什么意思。有没有办法在安装过程中更改此过程,或者我必须编辑C文件并运行它们?或者还有其他更简单的方法吗?您可以动态更新该模块 使用以下内容创建存储在homedirectory中的文件:
import keyword
keyword.kwlist += ['async', 'await']
keyword.iskeyword = frozenset(keyword.kwlist).__contains__
然后将设置为指向该文件。现在,每次使用-s
开关启动IDLE时,您的关键字
模块都会更新,以包含所需的“关键字”。如果您发现-s
开关太麻烦,还可以将文件移动到$HOME/.Idle.py
以无条件加载,或者将其移动到运行所有Python代码;当然,后者的风险更大
顶部的警告提醒您该文件是在从源代码构建Python解释器时生成的。如果您现在要在系统上编辑该文件,则不必担心该文件被替换。然而,如果您要升级Python,它可能会遭到破坏,您必须再次进行更改
注意,在Python3.7中,
async
和await
将是实际的关键字,因此您不需要等待那么长时间。同时,您可能需要选择一个更好的IDE。我使用升华文本3和Atom,两者都支持,它已经正确地突出显示了wait
和async
。您可以动态地更新该模块
使用以下内容创建存储在homedirectory中的文件:
import keyword
keyword.kwlist += ['async', 'await']
keyword.iskeyword = frozenset(keyword.kwlist).__contains__
然后将设置为指向该文件。现在,每次使用-s
开关启动IDLE时,您的关键字
模块都会更新,以包含所需的“关键字”。如果您发现-s
开关太麻烦,还可以将文件移动到$HOME/.Idle.py
以无条件加载,或者将其移动到运行所有Python代码;当然,后者的风险更大
顶部的警告提醒您该文件是在从源代码构建Python解释器时生成的。如果您现在要在系统上编辑该文件,则不必担心该文件被替换。然而,如果您要升级Python,它可能会遭到破坏,您必须再次进行更改
注意,在Python3.7中,
async
和await
将是实际的关键字,因此您不需要等待那么长时间。同时,您可能需要选择一个更好的IDE。我使用Sublime Text 3和Atom,它们都支持,已经正确地突出显示了await
和async
。您可以在自己的安装中自由更新文件。但是,下次从源代码构建Python或重新安装Python时,该文件将被删除,手动添加的内容将再次消失。获得更好的IDE可能会更好。这些说明只是提醒开发人员如何手动重新生成该文件。作为附录,请注意,在Python3.7中,这些将是关键字。您可以在自己的安装中自由更新该文件。但是,下次从源代码构建Python或重新安装Python时,该文件将被删除,手动添加的内容将再次消失。获得更好的IDE可能会更好。这些说明只是提醒开发人员如何手动重新生成该文件。作为附录,请注意,在Python3.7中,这些将是关键字。IDLESTARTUP变量不会因为任何原因影响任何内容。我不得不去站点。USER\u站点
并把我的文件放在那里。不过,我还是完全忘记了您可以创建启动文件,所以谢谢您。@IsaacSaffold:啊,是的,因为IDLE只在您在命令行上使用-s
时查看该变量,请参阅链接文档。您还可以使用主目录中的.Idle.py
文件。IDLESTARTUP变量不会因任何原因影响任何内容。我不得不去站点。USER\u站点
并把我的文件放在那里。不过,我还是完全忘记了您可以创建启动文件,所以谢谢您。@IsaacSaffold:啊,是的,因为IDLE只在您在命令行上使用-s
时查看该变量,请参阅链接文档。您还可以使用主目录中的.Idle.py
文件。