Python 中的模块名可以下划线结尾吗?

Can module names in Python end with an underscore?

您可以在下面找到我面临的问题的示例:


项目:


xml.py:

import xml.etree.ElementTree as Et


我的名为 xml.py 的模块在导入时与 xml 包混淆了,现在我的问题是:

我能否以不干扰包名称的方式命名我的模块,但同时又符合 PEP8 样式指南(例如:xml_.py。我已经看到了这个变量的命名约定,但我不确定像这样命名模块是一个好习惯。

模块(文件名)应该有简短的全小写名称,并且可以包含下划线;

Pep8 文档,所以你可以:)

PEP-8 模块名称指南指出:

Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.

此外,另一个 PEP-8 guideline 指出:

single_trailing_underscore_: used by convention to avoid conflicts with Python keyword, e.g.:

... 这正是您这样做的原因,而不仅仅是“为了好玩”。 因此,即使它没有明确声明为模块的命名指南,我假设我们可以将其适应所有 Python 命名约定。所以我认为你很高兴